[英]Modal view (partial) from MVC.Grid
我有一个显示带有数据行的 Grid.MVC 的 cshtml 页面(索引)。 当用户单击 ID 行时,我需要显示一个提供更多详细信息的弹出窗口。 我的 JavaScript 代码中有一个断点,但它从未被命中。 现在代码调用控制器而不是函数。
cshtml代码:
<div class="container-fluid">
@Html.Grid(Model).Columns(columns =>
{
columns.Add(c => c.task_id).Encoded(false).Titled("ID").Sanitized(false).Sortable(true).RenderValueAs(c => @Html.ActionLink(c.task_id.ToString(), "viewTransfers", new { taskId=c.task_id }, new { @onclick = "getTransfers('" + c.task_id + "')"}));
columns.Add(c => c.company).Titled("Company");
})Filterable(false).WithPaging(int.Parse(EPH.Common.Util.GetConfigSetting("PageSize"))).Selectable(true)
</div>
<script type="text/javascript">
$(function() {
$('#getTransfers').click(function (e) {
e.preventDefault();
$(this).modal();
});
});
</script>
控制器:
public ActionResult ViewTransfers(int taskId)
{
var myQuery = from transfers in db.fals_ftp_watcher_transfers
where transfers.task_id == taskId
orderby transfers.imp_date ascending
select transfers;
return View(myQuery);
}
这里有几件事你需要改变。
您的 JavaScript 正在寻找 ID 为getTransfers
的 dom 元素,但该元素不存在。
我会更改它,以便您生成的链接具有一类getTransfers
代替。
您的操作链接将变为:
@Html.ActionLink(c.task_id.ToString(),
"viewTransfers", "controllerName",
new { taskId = c.task_id },
new { @class = "getTransfers" })
请注意,您需要将"controllerName"
更改为您的控制器名称。
你的 JavaScript 会变成:
<script type="text/javascript">
$(function() {
$('.getTransfers').click(function (e) {
e.preventDefault();
$(this).modal();
});
});
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.