【发布时间】:2015-07-09 15:55:29
【问题描述】:
我在 webgrid 行中有一个按钮,定义如下:
grid.Column("Fault", header: "Fault", format: (item) =>
{
if (item.Fault != null)
{
return new HtmlString(string.Format("<input type='submit' id='btnShowFault' onclick='ShowFaultMessage({0})' value='Fault' />", item.Fault.Message));
}
return "";
}))
这是我的 ShowFaultMessage 函数:
function ShowFaultMessage(message) {
$.ajax({
url: '/Home/Message/',
data: message,
type: 'POST',
contentType: 'application/json; charset=utf-8',
success: function (result) {
var w = window.open("/Home/Message", "Fault Message", "width=400, height=400");
$(w.document.body).html(result.responseText);
}
});
};
但这不起作用。我知道 item.Fault 是正确的,因为我的 If Block 在列定义中工作。但是当我单击按钮时,它会引发未定义的引用异常。我怎样才能使这项工作。我是 MVC 的新手,但是使用 xaml 可以很容易地完成这样的事情。我拒绝相信在 razor/mvc 中这是不可能的。
编辑:这是我加载弹出窗口视图的操作方法:
public ActionResult Message(string faultMessage)
{
var model = new MessageViewModel { Message = faultMessage };
return View(model);
}
还编辑了我的其他代码块以显示它们的当前状态。
【问题讨论】:
标签: javascript asp.net asp.net-mvc razor