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