LoveCherry

技术无极限

博客园 首页 新随笔 联系 订阅 管理
  192 Posts :: 0 Stories :: 3239 Comments :: 656 Trackbacks

在使用DataGrid的时候如果你有一个asp:HyperLinkColumn又想使用多个需要绑定的参数作为链接的url,那么请改成模板列,使用普通的link标签<a>或者asp:HyperLink都可以,下面2种实现多绑定参数的解决方案。同样对http://www.cnblogs.com/lovecherry/archive/2005/03/25/125487.html进行改造。
(1)后台返回url
前台
<asp:TemplateColumn HeaderText="打开">
<ItemTemplate>
<asp:HyperLink Text="打开" NavigateUrl='<%# myfunc2(DataBinder.Eval(Container.DataItem,"vName"),DataBinder.Eval(Container.DataItem,"iAge"))%> ' Runat="server" Target="_blank" ID="Hyperlink1">
</asp:HyperLink>
</ItemTemplate>
</asp:TemplateColumn>

后台
protected string myfunc2(object s1,object s2)
{
return "newpage.aspx?name="+s1.ToString()+"&age="+s2.ToString();
}

(2)直接前台设定url
<asp:TemplateColumn HeaderText="打开">
<ItemTemplate>
<asp:HyperLink Text="打开" NavigateUrl='<%#"newpage.aspx?name="+DataBinder.Eval(Container.DataItem, "vname")+"&age="+DataBinder.Eval(Container.DataItem, "iage") %>' Runat="server" Target="_blank">
</asp:HyperLink>
</ItemTemplate>
</asp:TemplateColumn>

其实以上2个方案是一回事情,但是前者更加清晰,而且易于后台动态生成url。

posted on 2005-03-25 13:12 lovecherry 阅读(7296) 评论(26) 编辑 收藏

Feedback

CS0246: 找不到类型或命名空间名称“Container”(是否缺少 using 指令或程序集引用?)

这个怎么解决?

 回复 引用   

#2楼 2005-05-20 09:07 sunny
DataTextField="subject" HeaderText="主题"></asp:HyperLinkColumn>
<asp:TemplateColumn HeaderText="主题">
<ItemTemplate>
<asp:HyperLink id="link" Text='<%# DataBinder.Eval(Container.dataItem,"subject")%>' Visible="true" Runat="server" Font-Underline="true" EnableViewState="true" NavigateUrl='<%# "WebForm2.aspx?titles_id="+HttpUtility.Urlencode(DataBinder.Eval(container.dataitem,"titles_id")) + "&name=" + 用户名.Text%>'>
</asp:HyperLink>
</ItemTemplate>
</asp:TemplateColumn>
这样为什么用户名传的值为空,请指教,谢谢

 回复 引用   

#3楼[楼主] 2005-05-20 09:27 lovecherry      
用户名是textbox?
 回复 引用 查看   

#4楼 2005-08-04 17:29 SSC[未注册用户]
刚开始开发.谢谢大家,我爱你们.

 回复 引用   

#5楼 2005-09-14 09:44 炎冰[未注册用户]
如果我用一个函数,myfunc2(DataBinder.Eval(Container.DataItem,"vName","vage"))是否可以成立?
后台
myfunc2(name as string ,age as string)

 回复 引用   

#6楼 2006-07-01 21:10 wping[未注册用户]
帖子真好...
谢谢您的无私...
向您致敬...
顺祝:"技术无极限".

 回复 引用   

呵呵
收获不小!

 回复 引用   

#8楼 2007-05-28 14:17 gdfgdf[未注册用户]
根本不能运行,你调度过没啊,不要想当然,想和运行出来是两马事啊.晕哪,以后要调过再发到网上,真是浪费人时间.
 回复 引用   

#9楼 2007-11-23 08:53 ssss[未注册用户]
cao na you ge <asp:hyperlink>? zhi you ge <asp:hyperlinkcolumn>
 回复 引用