编码数据视图价值ASP.NET 视Actionlink
-
05-09-2019 - |
题
我使用了微软的Ajax模板数据视图绑值的模板。我可以做到这一点,它的工作原理正如你所期望的:
<h3>{{ID}}</h3>
<p>{{Address}}</p>
但是我想建立一个行动链接有ID。
<h2><%= Html.ActionLink(Html.AttributeEncode("{{Name}}"), "Index", "Restaurant", new { Id = Html.AttributeEncode("{{ID}}") }, null)%></h2>
该名称所示的链接文本,因为我想要,但该链接不包括的ID,而不是它已%7B%7BID%7D%7D
我怎么会得到身份是正确分析,并加入到的链路?
解决方案 2
终于得到了它的工作,我不知道如果我是被愚蠢或者如果它是缺乏文件,但这里是如何结合的数据视图价值链接。
<h2><a sys:href="{{'Restaurant/Index/' + ID}}">{{Name}}</a></h2>
实际url路线的一部分,需要在单一的报价和需要使用sys:href而不是href。
其他提示
这有可能是额外的支架把它扔了。尽量分配给变量,并使用在ActionLink的变量。你可以做在视图顶部的分配,并重新使用它们整个视图中。保持不必到处重新编码它们。
<% var id = Html.AttributeEncode( "{{ID}}" );
var name = Html.AttributeEncode( "{{Name}}" );
%>
<h2><%= Html.ActionLink(name, "Index", "Restaurant", new { Id = id }, null)%></h2>
及其好的做法建立一个手动网址,以避免与应用程序的名称和冲突的问题的网址时包括'<%= Url.Action("Index", "Restaurant")%>'
。
不隶属于 StackOverflow