日期:2014-05-19  浏览次数:20354 次

一个简单的asp.net 链接问题求教
<ItemTemplate>
                                                &nbsp; <asp:HyperLink   ID= "HyperLink1 "   runat= "server "   Text= ' <%#   Eval( "topic ")   %> '   NavigateUrl= '~/default.aspx?id= <%#   Eval( "autoid ")   %> '> </asp:HyperLink>
                                        </ItemTemplate>


这是我的代码,在gridview里模板编辑里ItemTemplate里自己添加了一个hyperlink,定义了
NavigateUrl= '~/default.aspx?id= <%#   Eval( "autoid ")   %> '
但是运行后 <%#   Eval( "autoid ")   %> 没有被解释,仍然为:
http://localhost:1723/WebSite1/default.aspx?id= <%#%20Eval( 'autoid ')%20%>

请问为什么??

------解决方案--------------------
应该是你VS的问题吧。
------解决方案--------------------
NavigateUrl= ' <%# String.Format( "~/default.aspx?id={0} ", Eval( "autoid "))%> '
要这样用
------解决方案--------------------
属性要不就使用字符,要不就使用代码,不要字符和代码混合,会不知道怎么处理。
------解决方案--------------------
绝不让帖子沉下去
------解决方案--------------------
<asp:HyperLink NavigateUrl= ' <%# DataBinder.Eval(Container.DataItem, "ID ", "~/default.aspx?id={0} ") %> ' ID=Link1 Runat=server> <%# DataBinder.Eval(Container.DataItem, "topic ", "{0} ") %> </asp:HyperLink>
------解决方案--------------------
weizhuangzhi(壮志) ( ) 信誉:100 Blog 加为好友 2007-04-24 12:22:31 得分: 0
属性要不就使用字符,要不就使用代码,不要字符和代码混合,会不知道怎么处理。
--------------------------------------------
会怎么处理我知道,全部按字符输出,把 <%# %> 中的代码也看成字符,输出就输出 <%# %>
- -!
------解决方案--------------------


NavigateUrl= '~/default.aspx?id= <%# DataBinder.Eval(Container.DataItem, "ID ")%> '
------解决方案--------------------
vb.net;

<ItemTemplate>
&nbsp; <asp:HyperLink ID= "HyperLink1 " runat= "server " Text= ' <%# Eval( "topic ") %> ' NavigateUrl= ' <%# "~/default.aspx?id= " & Eval( "autoid ") %> '> </asp:HyperLink>
</ItemTemplate>

C#:

<ItemTemplate>
&nbsp; <asp:HyperLink ID= "HyperLink1 " runat= "server " Text= ' <%# Eval( "topic ") %> ' NavigateUrl= ' <%# "~/default.aspx?id= " + Eval( "autoid ") %> '> </asp:HyperLink>
</ItemTemplate>