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}")%>' />
由此,對于控件多個屬性需要綁定時如果存在沖突,有時候不一定是不允許這樣操作,可以從格式上先找找原因,說不定會意外的發現。

浙公網安備 33010602011771號