下面这是代码。不知道怎么做把参数name中的值
Server.UrlEncode(name);象这样。为了这个头疼了好几天了。希望高手解说一下<asp:HyperLink runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.nname") %>' NavigateUrl='<%# DataBinder.Eval(Container, "DataItem.nname", "zhanshi.aspx?name={0}") %>'>
Server.UrlEncode(name);象这样。为了这个头疼了好几天了。希望高手解说一下<asp:HyperLink runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.nname") %>' NavigateUrl='<%# DataBinder.Eval(Container, "DataItem.nname", "zhanshi.aspx?name={0}") %>'>
再在dataitemBind里面给值的了
这个已经是模版列了。
只是不想把参数显示在url中,让用户看见,想给他UrlEncode
这个不知道怎么做
NavigateUrl='<%# "zhanshi.aspx?name=" + Server.UrlEncode(Eval("nname",""))%>'要求 .Net 2.0如果是2003,把Eval改回去就行了
自定义一个UrlEncodeCell函数
protected string UrlEncodeCell( object o )
{
string text = o.ToString();
if ( text != null && text.Trim() != string.Empty )
return Server.UrlEncode( text);
else
return " ";
}
然后
ItemTemplate>
<asp:HyperLink text="详细资料" NavigateUrl='<%# UrlEncodeCell(DataBinder.Eval(Container.DataItem,"name"))%>' Runat=server/>
</ItemTemplate> 传递参数也一样,在传递参数那里引用这个函数就可以。
所以知道
这么写就可以了
希望加精啊~~
NavigateUrl='<%# "zhanshi.aspx?name="+Server.UrlEncode(DataBinder.Eval(Container,"DataItem.nname").ToString()) %>'>