下面这是代码。不知道怎么做把参数name中的值
Server.UrlEncode(name);象这样。为了这个头疼了好几天了。希望高手解说一下<asp:HyperLink runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.nname") %>' NavigateUrl='<%# DataBinder.Eval(Container, "DataItem.nname", "zhanshi.aspx?name={0}") %>'>

解决方案 »

  1.   

    这个肯定要用模板列来了,
    再在dataitemBind里面给值的了
      

  2.   

    我是搂住
    这个已经是模版列了。
    只是不想把参数显示在url中,让用户看见,想给他UrlEncode
    这个不知道怎么做
      

  3.   

    NavigateUrl='<%# DataBinder.Eval(Container, "DataItem.nname", "zhanshi.aspx?name={0}") %>'-->NavigateUrl='<%# "zhanshi.aspx?name=" + Server.UrlEncode(Eval("nname"))%>'
      

  4.   

    更正,应是
    NavigateUrl='<%# "zhanshi.aspx?name=" + Server.UrlEncode(Eval("nname",""))%>'要求 .Net 2.0如果是2003,把Eval改回去就行了
      

  5.   

    NavigateUrl='www.xxxxx.aspx?name=<%# DataBinder.Eval(Container, "DataItem.nname"%>'
      

  6.   

    如何在DataGrid中如何把链接格式化成UrlEncode
    自定义一个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>  传递参数也一样,在传递参数那里引用这个函数就可以。
      

  7.   

    这个我做了
    所以知道
    这么写就可以了
    希望加精啊~~
    NavigateUrl='<%# "zhanshi.aspx?name="+Server.UrlEncode(DataBinder.Eval(Container,"DataItem.nname").ToString()) %>'>