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("~/Browse/AuthorDetail.aspx?UserID=<%# Eval("AuthorID") %>")' />
在编译就会报错.但是写成如下形式就能通过了:
 作者: <asp:HyperLink ID="BtAuthor" runat="server" Text='<%# Eval("Author") %>' NavigateUrl='<%# Eval("AuthorID","~/Browse/AuthorDetail.aspx?UserID={0}")%>' />
作者: <asp:HyperLink ID="BtAuthor" runat="server" Text='<%# Eval("Author") %>' NavigateUrl='<%# Eval("AuthorID","~/Browse/AuthorDetail.aspx?UserID={0}")%>' />
由此,对于控件多个属性需要绑定时如果存在冲突,有时候不一定是不允许这样操作,可以从格式上先找找原因,说不定会意外的发现。
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号