模态 - 用url传递参数

时间:2017-05-24 14:55:54

标签: jquery html model-view-controller modal-dialog

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

当我将<div class="modal-body">放入我的模态代码中时,它将填写模态但是我无法将参数传递给它。

我的模态按钮 -

  <a href="#myModal" id="btnChange"class="btn btn-default" data-toggle="modal" data-id="@item.DeviceID">Change Location</a>

我的模态 -

<div id='myModal' class='modal fade' tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel">
<div class="modal-dialog">
    <div class="modal-content">
        <div class="modal-body">
            <div id='modal-content'>

            </div>
        </div>
    </div>
</div>

然后我的脚本 -

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

        //$("#modal-content").load("/DeviceLocation/ChangeLocation/" + $(this).data("deviceID"));
     })

我被要求发布我的控制器方法 - 我在第一次访问视图时调用了[HttpPost]

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

2 个答案:

答案 0 :(得分:1)

您没有正确访问153<- std::transform (100) 131<- std::for_each (200) 82<- thread_pool (300) 。改为:

data-id

此外,Model Binder与param名称匹配以映射值。因此,请按上述方式更改您的网址。

答案 1 :(得分:1)

$('#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");
  }
 })

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