我正在尝试调用我从 JavaScript 函数编写的自定义 Html 帮助器方法,jqGrid 使用该函数返回单元格的格式化文本(在本例中为链接):
function formatGroupPlanEditLink(cellValue, options, rowObject) {
//var cellHtml = "<a href='/Insurance/GroupPlanEdit/?id=" + rowObject[0] + "'>" + rowObject[1] + "</a>";
var functionArgs = rowObject[1] + ',Url.Action("GroupPlan", "Insurance", new { id = ' + rowObject[0] + ' }),String.Format("Edit {0}", ' + rowObject[1] + '), listId,Url.Action("GroupPlanList", "Insurance"),false';
var cellHtml = '@Html.DialogFormLink(' + functionArgs + ')';
return cellHtml;
}
我遇到的问题是在执行助手之前无法连接整个字符串。所以浏览器正在尝试执行“@Html.DialogFormLink(”-这当然会导致错误。我想一定有更好的方法来解决这个问题。我真的希望仍然能够使用 Html 帮助器方法,因为我在其他地方使用它,它非常适合我的要求。
最佳答案
我对 Razor 不太熟悉,但 @Html 助手周围的引号看起来很可疑。
var cellHtml = '@Html.DialogFormLink(' + functionArgs + ')';
浏览器不执行@Html.DialogFormLink;服务器对其进行评估。我怀疑服务器正在将文字“@Html.DialogFormLink”注入(inject)到您的 js 中。
关于javascript - 从 Javascript 函数调用 Html Helper 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10956979/