Jquery 模态-使用url传递参数
我正在创建一个模式,其中我正在传递一个参数,该参数应该使用脚本中的URL打开另一个视图。但是,它会打开一个空白的模式弹出窗口,并且永远不会转到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
放入模态代码时,它将填充模态,但是我无法将参数传递给它
我的模态按钮-
<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]