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