javascript
  • razor
  • jqgrid
  • html-helper
  • 2012-06-08 76 views 0 likes 
    0

    我想調用一個自定義的Html幫助器方法,該方法是由jqGrid使用的JavaScript函數編寫的,用於返回單元格中格式化的文本,在本例中爲鏈接:從Javascript函數調用Html幫助器方法

    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輔助方法在其他地方使用,並且它工作得很好了我的要求。

    +0

    如果一個「HTML助手」與Razor有關,問題是你所要做的沒有意義。 Razor的東西發生在服務器上,但是你的JavaScript在頁面被髮送到客戶端瀏覽器之後運行。 – Pointy

    回答

    0

    我不是那熟悉的剃鬚刀,但周圍的@Html幫手引號看起來很可疑。

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

    瀏覽器不執行@ Html.DialogFormLink;服務器評估它,我懷疑服務器是注入文字'@ Html.DialogFormLink'到你的JS。

    相關問題