【问题标题】:Calling Html Helper Method from Javascript Function从 Javascript 函数调用 Html Helper 方法
【发布时间】:2012-06-08 23:04:04
【问题描述】:

我正在尝试调用一个自定义 Html 帮助器方法,该方法是我从 jqGrid 使用的 javascript 函数编写的,以返回单元格的格式化文本,在本例中为链接:

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 辅助方法在其他地方使用它,它可以很好地满足我的要求。

【问题讨论】:

  • 如果“HTML Helper”与 Razor 有关,那么问题是您尝试做的事情毫无意义。 Razor 的东西发生在服务器上,但是你的 JavaScript 页面被发送到客户端浏览器之后运行。

标签: javascript razor jqgrid html-helper


【解决方案1】:

我对 Razor 不是很熟悉,但是 @Html 助手周围的引号看起来很可疑。

var cellHtml = '@Html.DialogFormLink(' + functionArgs + ')';

浏览器不执行@Html.DialogFormLink;服务器对其进行评估。我怀疑服务器正在将文字“@Html.DialogFormLink”注入您的 js。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-05
    • 2013-04-29
    • 2012-05-03
    • 2012-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多