[英]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()
但結果是一樣的。 我從這個鏈接中學習過。 Link1 , Link1 , Link1 , Link1但沒有找到可能的解決方案。 如果沒有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.