C# 如何仅使用Razor在MVC中的网格/列中添加链接操作

C# 如何仅使用Razor在MVC中的网格/列中添加链接操作,c#,asp.net,asp.net-mvc,asp.net-mvc-4,razor,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,Razor,我正在使用Razor网格系统显示列表。我想制作一个列作为链接操作。但我的问题是,它在字体结尾将链接显示为原始HTML文件。 我的代码是 columns.Add(c => c.Title).Titled("Title").Filterable(true).RenderValueAs(c => Html.ActionLink(c.Title, "Details", new { id = c.Id })); 因此,产出是有限的 我还使用了Format()来放置RenderValueAs

我正在使用
Razor
网格系统显示列表。我想制作一个列作为链接操作。但我的问题是,它在字体结尾将链接显示为原始HTML文件。 我的代码是

columns.Add(c => c.Title).Titled("Title").Filterable(true).RenderValueAs(c => Html.ActionLink(c.Title, "Details", new { id = c.Id }));
因此,产出是有限的

我还使用了
Format()
来放置
RenderValueAs()
,但是结果是一样的。 我已经研究了这些链接,但没有找到可能的解决方案。
如果没有javascript或任何脚本语言的帮助,我不想解决这个问题。我只寻找剃须刀相关的解决方案。谢谢。

从未使用过这个
网格
东西,只需自己编写html标记和循环,我认为它更容易控制

在这种情况下,我认为这是
RenderValueAs
方法问题,它可能会解码输出。
您可以尝试此
RenderValueAs(c=>{string tag=生成链接标记字符串;返回Html.Raw(tag);})


如果它不起作用,你可以在
Filterable()
上编写一个扩展方法,自己生成
MvcHtmlString
,它应该能起作用。

可能我有自己问题的解决方案,我已经检查过了

而不是使用
columns.Add(c=>c.Title).Title(“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>)
           ))
@{
var grid=新的WebGrid(模型);
}
@grid.GetHtml(
表样式:“webgrid表”,
标题样式:“webgrid标题”,
页脚样式:“webgrid页脚”,
交替行样式:“webgrid交替行”,
selectedRowStyle:“webgrid选定行”,
行样式:“webgrid行样式”,
模式:WebGridPagerModes.All,
柱:
网格.列(
grid.Column(columnName:“学生姓名”,标题:“姓名”,格式:@@item.Name),
grid.Column(columnName:“SchoolName”,标题:“SchoolName”,格式:@@item.SchoolName),
grid.Column(columnName:“地址”,标题:“地址”,格式:@@item.Address),

grid.Column(columnName:“City”,header:“City”,format:@我获得了此策略。

是的。以前我在最近和正在进行的项目中通过循环生成了此表。但这是一个需要修改的过时项目。因此,要求各不相同。我对这种类型的解决方案不太满意。但是,我不得不这样做。