簡體   English   中英

如何僅使用Razor在MVC的網格/列中添加鏈接操作

[英]How do I add a link action inside a grid/column in MVC using Razor only

我正在使用Razor網格系統來顯示列表。 我想將列作為鏈接​​操作。 但我的問題是它將字體結尾的鏈接顯示為原始HTML文件。 我的代碼是

columns.Add(c => c.Title).Titled("Title").Filterable(true).RenderValueAs(c => Html.ActionLink(c.Title, "Details", new { id = c.Id }));

因此產出是 產量

我也在放置RenderValueAs()使用了Format() RenderValueAs()但結果是一樣的。 我從這個鏈接中學習過。 Link1Link1Link1Link1但沒有找到可能的解決方案。 如果沒有javascript或任何腳本語言的幫助,我不想解決這個問題。 我正在尋找只有剃刀相關的解決方案。 謝謝。

從來沒有使用過這個grid東西,只需編寫html標簽並自行循環,我認為它更能控制。

在這種情況下,我認為它是RenderValueAs方法問題,它可能解碼輸出。
你可以嘗試這個RenderValueAs(c => {string tag = generate your link tag string; return Html.Raw(tag);})

如果它不工作你可以在MvcHtmlString Filterable()上編寫一個擴展方法,自己生成MvcHtmlString ,它應該工作。

可能我得到了自己問題的解決方案,我已經檢查過了。

而不是使用columns.Add(c => c.Title).Titled("Title").Filterable(true).RenderValueAs(c=>Html.ActionLink(c.Title, "Details", new { id = c.Id }));

我用過

@{
    var grid = new WebGrid(Model);
}
@grid.GetHtml(
        tableStyle: "webgrid-table",
        headerStyle: "webgrid-header",
        footerStyle: "webgrid-footer",
        alternatingRowStyle: "webgrid-alternating-row",
        selectedRowStyle: "webgrid-selected-row",
        rowStyle: "webgrid-row-style",
        mode: WebGridPagerModes.All,
        columns:
            grid.Columns(
            grid.Column(columnName: "Student Name", header: "Name", format: @<text>@item.Name</text>),
            grid.Column(columnName: "SchoolName", header: "School Name", format: @<text>@item.SchoolName</text> ),
            grid.Column(columnName: "Address", header: "Address", format: @<text>@item.Address</text>),
            grid.Column(columnName: "City", header: "City", format: @<a>@item.City</a>),
            grid.Column(columnName: "State", header: "State", format: @<text>@item.State</text>)
           ))

在這里,我附上了<a>城市。 所以我很安靜,能夠自己定制整個網格。 從參考鏈接我獲得了這個策略。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM