|M| aspx当一个链接绑定多个字段的时候大家都是怎么写的
如
<a href= 'showdetail.aspx?type= <%# Eval( "type ") %> &id= <%# Eval( "id ") %> '>
你上面那这个链接我是这样写的
但是这样写看起来不是很直观大家是怎么写的
谢谢
------解决方案--------------------如果只有一个参数,可以
<asp:HyperLinkField NavigateUrl= "aa.aspx?id={0} " DataNavigateUrlFields= "字段 " />
如果多个就只能这样写了
------解决方案--------------------我用函数
<a href= ' <%# GetUrl((int) Eval( "type "),(int) Eval( "id ")) %> '>
后台
protected string GetUrl(int a,int b)
{
return "showdetail.aspx?type= " + a + "&id= " + b;
}
不过感觉跟你的差不多
------解决方案--------------------呵呵
------解决方案-------------------- <%# "info.aspx?id= " + Eval( "id ") + "&name= " + Eval( "name ") %>
------解决方案--------------------请参见我的博客文章
《GridView中的超链接 》
http://www.cnblogs.com/heekui/archive/2007/03/01/660339.html
------解决方案--------------------同意4楼的方法
------解决方案-------------------- <a href= 'showdetail.aspx?type= <%# Eval( "type ") %> &id= <%# Eval( "id ") %> '>
这样写个人感觉 反而 对于 修改来说很方便...
String.Fortmat 和 添加 一个函数处理
看起来都很 多余
------解决方案-------------------- <asp:HyperLink NavigateUrl= ' <%# "showdetail.aspx?type= " + Eval( "type ").ToString() + "&id= " + Eval( "id ").ToString() %> ' />
或
<asp:HyperLink NavigateUrl= ' <%# String.Format( "showdetail.aspx?type={0}&id={1} ", Eval( "type "), Eval( "id ")) %> ' />
前者直接拼接字符串,后者用String.Format来组合。
你记住一样东西就是了,在一个属性不是之际来自一个字段时,在 <%# %> 内部进行有关的运算,包括字符串拼接,而不是外部。也就是说,属性值必然 ' <%# %> '的样子的,单引号内就直接使 <%# %> ,而再里面就可以用任何你喜欢的C#语句组合字段了。甚至这样也行:
<asp:HyperLink NavigateUrl= ' <%# GenerateLink(Eval( "type "), Eval( "id ")) %> ' />
//以下代码写在Code-Behind文件中,记住是要public的
public string GenerateLink(object type, object id)
{
return String.Format( "showdetail.aspx?type={0}&id={1} ", type, id);
}