日期:2014-05-20  浏览次数:20375 次

|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);
}