Dialog 在MVC4应用程序中打开对话框的最佳方法
我才刚开始学习MVC,所以请耐心点 我有一个表,旁边有一些选项,您可以编辑、删除和显示该表的详细信息 如果我现在单击“详细信息”按钮,它将带我进入另一个页面(Details.cshtml) 它与显示上表的Index.cshtml位于同一控制器中 这是表的代码(Index.cshtml) 我想做什么:Dialog 在MVC4应用程序中打开对话框的最佳方法,dialog,asp.net-mvc-4,Dialog,Asp.net Mvc 4,我才刚开始学习MVC,所以请耐心点 我有一个表,旁边有一些选项,您可以编辑、删除和显示该表的详细信息 如果我现在单击“详细信息”按钮,它将带我进入另一个页面(Details.cshtml) 它与显示上表的Index.cshtml位于同一控制器中 这是表的代码(Index.cshtml) 我想做什么: 在对话框(而不是其他页面)中打开“删除”、“编辑”或“详细信息”视图 仍然能够像打开另一个页面一样拥有相同的功能 我不知道这是否太有道理。我试图尽我所能解释它,但在搜索谷歌/尝试其他解决方案的
- 在对话框(而不是其他页面)中打开“删除”、“编辑”或“详细信息”视图
- 仍然能够像打开另一个页面一样拥有相同的功能
如果您建议使用JQUERY对话框之外的其他方法,我也愿意使用该选项。非常感谢您的帮助,因为我一直很沮丧。我想您可能希望将它们打开到一个模式对话框中。要完成此操作,可以从控制器返回部分视图 您可以将类添加到操作链接,如下所示:
@Html.ActionLink("Details", "Details", new { id=Model.changes[i].ID }, new { @class = "details-modal" })
你的详细行动方法:
public ActionResult Details(int id)
{
// Your code here
return PartialView("_Details", myModel); // return the partial view with the model
}
jQuery(不在我的脑海中,因此可能不是100%正确):
我打算回家后试试,但这看起来是对的。我会让你知道的。我修改了我的代码并尝试了一下,但仍然不起作用。当我点击“详细信息”按钮时,它什么也不做。在看另一个例子时,我也遇到了同样的问题,所以我不知道从这里可以走到哪里。我确实返回了true,以查看脚本是否到达它,它只是将我重定向到页面。不过,就对话框的工作情况而言,它并不起作用。有什么想法吗?我实际上找到了另一种可能的方法,它可能会起作用,所以我打算用另一种方法来做,但是你的代码帮助了我,所以我会接受它。谢谢您的帮助。@Claud25您是否按照适当的顺序加载了正确的jQuery脚本?是的,就像我说的那样,它看起来不错,应该可以工作,但实际上不行。我肯定我做错了什么,但我真的看不出问题所在。
@Html.ActionLink("Details", "Details", new { id=Model.changes[i].ID }, new { @class = "details-modal" })
public ActionResult Details(int id)
{
// Your code here
return PartialView("_Details", myModel); // return the partial view with the model
}
$('#my-dialog').dialog({
autoOpen: false,
width: 400,
resizable: false,
modal: true
});
$('.details-modal').click(function() {
var theURL = $(this).attr('href');
$('#my-dialog').load(theURL, function() {
$(this).dialog('open');
});
return false; // ensures the browser is not redirected to the link's URL
});