HyperLink的绑定用法(做笔记)

今天改以前同事做的项目,在datagrid里用了个HyperLink,我开始是这样绑定的,

<asp:HyperLink ID="lnkUpdate" runat="server"  NavigateUrl='HolidayDateAdd.aspx?id=<%#Eval("HolidayID")%>&mod=edit&Pager=<%#this.Pagerdg.CurrentPageIndex%>&Condition=<%#Condition %>'>编辑</asp:HyperLink>

但出来的结果类似:HolidayDateAdd.aspx?id=<%#Eval("HolidayID")%>&mod=edit&Pager=<%#this.Pagerdg.CurrentPageIndex%>&Condition=<%#Condition %>,没有起到绑定作用。后来百度一下才知道:应改为:

<asp:HyperLink ID="lnkUpdate" runat="server"  NavigateUrl='<%# "HolidayDateAdd.aspx?id="+Eval("HolidayID")+"&mod=edit&Pager="+this.Pagerdg.CurrentPageIndex+"&Condition="+Condition %>'>编辑</asp:HyperLink>

这样出来结果就更常了:HolidayDateAdd.aspx?id=1&mod=edit&Pager=2&Condition=true

 

下面的方法也可以:

以往在数据绑定控件中对HyperLink进行绑定时,经常需要对其Text和NavgateUrl两个属性均加上动态数据,如果写成:        

作者: <asp:HyperLink ID="BtAuthor" runat="server" Text='<%# Eval("Author") %>' NavigateUrl='<%# Eval("~/Browse/AuthorDetail.aspx?UserID=<%# Eval("AuthorID") %>")' />

 

 在编译就会报错.但是写成如下形式就能通过了:

 

作者: <asp:HyperLink ID="BtAuthor" runat="server" Text='<%# Eval("Author") %>' NavigateUrl='<%# Eval("AuthorID","~/Browse/AuthorDetail.aspx?UserID={0}")%>' />

        由此,对于控件多个属性需要绑定时如果存在冲突,有时候不一定是不允许这样操作,可以从格式上先找找原因,说不定会意外的发现。

posted @ 2008-09-17 18:10  chinaifne  阅读(5101)  评论(3编辑  收藏  举报