如何使用URL将数据从javascript发送到ASP.NET MVC控制器

塔拉斯·斯特里希克(Taras Strizhyk)

我需要一些帮助。我使用带有JavaScript和Knockout的ASP.NET MVC4编写了小应用程序,但无法将数据从JavaScript发送到MVC Controller,反之亦然。例如,JS的部分如下所示:

的JavaScript

self.Employer = ko.observable();
self.AboutEmployer = function (id) {
            $.ajax({                    
                    Url.Action("GetEmployer", "Home")
                    cache: false,
                    type: 'GET',
                    data: "{id:" + id + "}",
                    contentType: 'application/json; charset=utf-8',
                    dataType: "json",
                    success: function (data) {
                        self.Employer(data);
                    }
                }).fail(
                function () {
                    alert("Fail");
                });
         };

在ASP.NET MVC家庭控制器中,我通过ID获得用人单位并将其返回为Json:

C#

public JsonResult GetEmployer(int id)
    {
        var employer = unit.Repository<Employer>().GetByID(id);
        return Json(employer, JsonRequestBehavior.AllowGet);
    }

我的视图返回另一个控制器(Home / KnockOutView)。“我的视图”还获得了另一个对象,并且根据接收到的内容而具有不同的外观:

的HTML

...
<b>About Company: </b><a href="#" data-bind="click: $root.AboutEmployer.bind($data, Vacancy().EmployerID)">
<span data-bind="    text: Vacancy().Employer"></span></a>
<div data-bind="if: Vacancy">
    <div id="VacancyDescription"><span data-bind="text:DescriptionShort"></span>
    </div>
</div>
<div data-bind="if: Employer">
    <div data-bind="text: Employer().EmployerDescription"></div>
</div>

一切正常,我在JS中收到了Vacancy和Employer对象,并使用Knockout在HTML中显示了它,但是我的URL一直保持不变!但是我想在获得空缺或雇主时一直更改URL。例如,如果我想使用方法GetEmployer来获取Employer,URL应该看起来像这样:〜/ Home / GetEmployer?id = 3如果我更改Url.Action("GetEmployer", "Home")url: window.location.href = "/home/GetEmployer?id=" + idURL上的此代码字符串,则将被更改,但是Controller返回一个Json对象,并且在窗口中以Json格式显示它。请帮助我,更改URL并从URL获取Controller中的信息。谢谢。

Soner Joy

尝试以下代码,希望对您有所帮助

此代码适用于%100,请根据您的情况在文本框下方进行更改

的HTML

<input type="text" id="UserName" name="UserName" />
<input type="button" onclick="MyFunction()"value="Send" />

<div id="UpdateDiv"></div> 

Javascript:

function MyFunction() {
    var data= {
        UserName: $('#UserName').val(),
    };
    $.ajax({
        url: "/Home/GetEmployer",
        type: "POST",
        dataType: "json",  
        data: JSON.stringify(data),
        success: function (mydata) {
            $("#UpdateDiv").html(mydata);
            history.pushState('', 'New URL: '+href, href); // This Code lets you to change url howyouwant
        });
        return false;
    }
}

控制器:

public JsonResult GetEmployer(string UserName)
{
    var employer = unit.Repository<Employer>().GetByID(id);
    return Json(employer, JsonRequestBehavior.AllowGet);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在asp.net mvc中将字符串列表从控制器发送到javascript(显示在视图中)

来自分类Dev

Angularjs和Asp.Net MVC控制器

来自分类Dev

_Layout的ASP.Net MVC控制器

来自分类Dev

如何使ASP.NET MVC控制器方法异步

来自分类Dev

处理ASP.NET MVC控制器中的异常

来自分类Dev

在ASP.NET MVC中获取控制器名称

来自分类Dev

如何使用AJAX将数据发布到ASP.NET MVC控制器?

来自分类Dev

使用AngularJS将数据发送到ASP.NET MVC 5控制器的操作方法

来自分类Dev

如何将JavaScript数据传递到控制器ASP.NET MVC

来自分类Dev

如何使用Angular2将数据发送到ASP.NET控制器

来自分类Dev

如何在不使用ASP.NET Core的情况下将Json数据从控制器发送到javascript?

来自分类Dev

无法使用js将文件值发送到asp.net mvc中的控制器

来自分类Dev

ASP.NET MVC:从视图导航时,如何将客户端浏览器上的DOM Body元素的ID发送到控制器

来自分类Dev

如何使用axios.put将JSON发送到ASP.NET控制器

来自分类Dev

如何使用Ajax将复杂的数据类型发送到ASP.NET MVC中的控制器中的操作

来自分类Dev

如何在ASP.NET Core中使用Ajax将表单发送到控制器?

来自分类Dev

从Javascript调用ASP.NET MVC 4控制器

来自分类Dev

如何在asp.net mvc中将字符串列表从控制器发送到javascript(显示在视图中)

来自分类Dev

我如何在不使用会话的情况下将对象从Asp.net MVC控制器发送到Asp.Net WebForm?

来自分类Dev

将空列表从控制器传递到控制器ASP.NET MVC

来自分类Dev

将Javascript数组发送到控制器ASP.NET MVC

来自分类Dev

ASP.NET MVC从同一控制器发布到控制器的操作

来自分类Dev

数据表Ajax数据:将Json数组发送到ASP.NET控制器

来自分类Dev

从 JavaScript 正确调用控制器 - ASP.NET MVC

来自分类Dev

无法将数据从视图发送到控制器操作 .NET MVC

来自分类Dev

ASP.NET MVC 将 List<Foo> 集合从我的视图发送到控制器

来自分类Dev

将 JSON 字符串发送到 ASP.NET Core MVC 控制器

来自分类Dev

ASP.NET MVC 控制器中的持久数据

来自分类Dev

如何使用 Axios 将多个文件发送到 ASP.NET Core 的控制器?

Related 相关文章

  1. 1

    如何在asp.net mvc中将字符串列表从控制器发送到javascript(显示在视图中)

  2. 2

    Angularjs和Asp.Net MVC控制器

  3. 3

    _Layout的ASP.Net MVC控制器

  4. 4

    如何使ASP.NET MVC控制器方法异步

  5. 5

    处理ASP.NET MVC控制器中的异常

  6. 6

    在ASP.NET MVC中获取控制器名称

  7. 7

    如何使用AJAX将数据发布到ASP.NET MVC控制器?

  8. 8

    使用AngularJS将数据发送到ASP.NET MVC 5控制器的操作方法

  9. 9

    如何将JavaScript数据传递到控制器ASP.NET MVC

  10. 10

    如何使用Angular2将数据发送到ASP.NET控制器

  11. 11

    如何在不使用ASP.NET Core的情况下将Json数据从控制器发送到javascript?

  12. 12

    无法使用js将文件值发送到asp.net mvc中的控制器

  13. 13

    ASP.NET MVC:从视图导航时,如何将客户端浏览器上的DOM Body元素的ID发送到控制器

  14. 14

    如何使用axios.put将JSON发送到ASP.NET控制器

  15. 15

    如何使用Ajax将复杂的数据类型发送到ASP.NET MVC中的控制器中的操作

  16. 16

    如何在ASP.NET Core中使用Ajax将表单发送到控制器?

  17. 17

    从Javascript调用ASP.NET MVC 4控制器

  18. 18

    如何在asp.net mvc中将字符串列表从控制器发送到javascript(显示在视图中)

  19. 19

    我如何在不使用会话的情况下将对象从Asp.net MVC控制器发送到Asp.Net WebForm?

  20. 20

    将空列表从控制器传递到控制器ASP.NET MVC

  21. 21

    将Javascript数组发送到控制器ASP.NET MVC

  22. 22

    ASP.NET MVC从同一控制器发布到控制器的操作

  23. 23

    数据表Ajax数据:将Json数组发送到ASP.NET控制器

  24. 24

    从 JavaScript 正确调用控制器 - ASP.NET MVC

  25. 25

    无法将数据从视图发送到控制器操作 .NET MVC

  26. 26

    ASP.NET MVC 将 List<Foo> 集合从我的视图发送到控制器

  27. 27

    将 JSON 字符串发送到 ASP.NET Core MVC 控制器

  28. 28

    ASP.NET MVC 控制器中的持久数据

  29. 29

    如何使用 Axios 将多个文件发送到 ASP.NET Core 的控制器?

热门标签

归档