使用WebGrid格式参数

时间:2016-02-24 01:02:46

标签: c# asp.net razor format webgrid

我没有使用MVC。这是一个C#Asp.Net网页项目。没有视图/模型/控制器。我的所有搜索都只找到了对例如:HTML.ActionLink

的引用

我尝试使用WebGrid.Column.format参数创建链接。我需要使用查询中的一些数据字段。

这有效:

anchorGrid.Column(columnName: "Latitude", header: @Sorter("Latitude", "Latitude", anchorGrid), style: "alignRight nowrap", format: (item) => Html.Raw(item.Latitude.ToString("F5"))),

再次使用相同的数据字段,我尝试了以下内容:

anchorGrid.Column(header: "Map", format: (item) => Html.Raw("<a href='http://maps.google.com/?q=@(item.Latitude.ToString("F5")),@(item.Longitude.ToString("F5"))'>Map</a>")),

anchorGrid.Column(header: "Map", format: (item) => <text><a href='http://maps.google.com/?q=@(item.Latitude.ToString("F5")),@(item.Longitude.ToString("F5"))'>Map</a></text>),

anchorGrid.Column(header: "Map", format: (item) => Html.Raw("<a href='http://maps.google.com/?q=" + item.Latitude.ToString("F5") + ","+ item.Longitude.ToString("F5") + "'>Map</a>")),

以及括号和@符号的一些变体。我做错了什么?

1 个答案:

答案 0 :(得分:0)

您不需要在format参数中使用Html.Raw,因为无论如何WebGrid助手都会吐出HTML。您只需要为要输出的HTML添加@符号前缀:

anchorGrid.Column(header: "Map", format: @<a href="http://maps.google.com/?q=@(item.Latitude.ToString("F5")),@(item.Longitude.ToString("F5"))">Map</a>"),