Jquery 模态-使用url传递参数

Jquery 模态-使用url传递参数,jquery,html,model-view-controller,modal-dialog,Jquery,Html,Model View Controller,Modal Dialog,我正在创建一个模式,其中我正在传递一个参数,该参数应该使用脚本中的URL打开另一个视图。但是,它会打开一个空白的模式弹出窗口,并且永远不会转到URL。我尝试了两种不同的方法,但都不起作用 当我将放入模态代码时,它将填充模态,但是我无法将参数传递给它 我的模态按钮- <a href="#myModal" id="btnChange"class="btn btn-default" data-toggle="modal" data-id="@item.DeviceID">Change

我正在创建一个模式,其中我正在传递一个参数,该参数应该使用脚本中的URL打开另一个视图。但是,它会打开一个空白的模式弹出窗口,并且永远不会转到URL。我尝试了两种不同的方法,但都不起作用

当我将
放入模态代码时,它将填充模态,但是我无法将参数传递给它

我的模态按钮-

  <a href="#myModal" id="btnChange"class="btn btn-default" data-toggle="modal" data-id="@item.DeviceID">Change Location</a>
我被要求发布我的控制器方法-我有一个
[HttpPost]
,我在第一次访问视图时调用它

 [HttpGet]
    public ActionResult ChangeLocation(int deviceID)
    {
        PopulateLocation();
        ViewBag.DeviceID = deviceID;
        return View();
    }

您没有正确访问
数据id
。更改为:

$('#btnChange').click(function (eve) {
    var url = "/DeviceLocation/ChangeLocation?deviceID=" + $(this).data("id");
    $("#modal-content").load(url, function () {
        $("#myModal").modal("show");
    });
 })

此外,模型绑定器与参数名称匹配以映射值。因此,如上所述更改您的url。

您没有正确访问
数据id
。更改为:

$('#btnChange').click(function (eve) {
    var url = "/DeviceLocation/ChangeLocation?deviceID=" + $(this).data("id");
    $("#modal-content").load(url, function () {
        $("#myModal").modal("show");
    });
 })
$('#btnChange').on('click',function (eve) {
$.ajax({
  type: "Post",
  url: "/DeviceLocation/ChangeLocation?deviceID=$(this).attr('data-id')",
  success: function(data){
    $("#modal-content").html(data);
  $("#myModal").modal("show");
  }
 })
此外,模型绑定器与参数名称匹配以映射值。因此,如上所述更改您的url

$('#btnChange').on('click',function (eve) {
$.ajax({
  type: "Post",
  url: "/DeviceLocation/ChangeLocation?deviceID=$(this).attr('data-id')",
  success: function(data){
    $("#modal-content").html(data);
  $("#myModal").modal("show");
  }
 })
尝试使用这段代码,希望这能对您有所帮助


尝试使用此代码,希望这能对您有所帮助。

当脚本尝试加载外部内容时,控制台中是否显示任何错误?我可以告诉您的任何地方都没有错误消息脚本尝试加载外部内容时,控制台中是否显示任何错误?我可以告诉您的任何地方都没有错误消息告诉我它还是空的。它似乎甚至没有尝试访问url。@请发布您的控制器方法。我用我在“/DeviceLocation/ChangeLocation/”中调用的
[HttpPost]
编辑了我的原始问题,并更新了我的答案。另外,您的方法是
[HttpGet]
而不是
[HttpPost]
它仍然是空的。它似乎甚至没有尝试访问url。@请发布您的控制器方法。我用我在“/DeviceLocation/ChangeLocation/”中调用的
[HttpPost]
编辑了我的原始问题,并更新了我的答案。另外,您的方法是
[HttpGet]
而不是
[HttpPost]