我没有使用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>")),
以及括号和@符号的一些变体。我做错了什么?
答案 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>"),