asp.net
2010-09-22 81 views 0 likes 
0

我已經嘗試下面的兩個片段。沒有。我試過<%#,<%=和<%。沒有。所以我卡住了。我的<% %>不能在div中工作。爲什麼?

<div style="background-color:Gray; color:white; text-align:center; width:100%;"> 
      <asp:HyperLink ID="HyperLink1" Target="_blank" NavigateUrl='<%= Server.HtmlEncode(String.Format("~/ShowHistory.aspx?section={0}&jobnumber={1}", "APQP Header", "101244")) %>' runat="server">Show Updated History</asp:HyperLink>&nbsp;&nbsp; 
      <asp:HyperLink Target="_blank" NavigateUrl="~/ShowDeletedHistory.aspx" ID="HyperLink2" runat="server">Show Deleted History</asp:HyperLink></div> 
     <br /> 

<div style="background-color:Gray; color:white; text-align:center; width:100%;"> 
      <asp:HyperLink ID="HyperLink1" Target="_blank" NavigateUrl='<%= String.Format("~/ShowHistory.aspx?section={0}&jobnumber={1}", "APQP Header", "101244") %>' runat="server">Show Updated History</asp:HyperLink>&nbsp;&nbsp; 
      <asp:HyperLink Target="_blank" NavigateUrl="~/ShowDeletedHistory.aspx" ID="HyperLink2" runat="server">Show Deleted History</asp:HyperLink></div> 
     <br /> 
+0

「不工作」是什麼意思? – 2010-09-22 15:46:34

+0

我的意思是,而不是超鏈接,因爲它應該,它只是文本。我看看源代碼並得到這個:


dotnetN00b 2010-09-22 15:51:47

回答

0

服務器控件不能包含這種類型的標籤。原因是「<%=%>」是basically equal to Response.Write,它本身在頁面經歷其生命週期後執行,當響應已經構建時。如果在設置服務器端控件屬性的值時使用它,則必須在解析頁面標記時(或稍後)解析此值。這是您不能在服務器控件中使用「<%=%>」的原因。

如果它是一個普通的html標籤,它會工作,但虛擬URL不會。

是不是有沒有在代碼中設置NavigationUrl的原因?這對我來說看起來好多了。

+0

將URL置於代碼隱藏工作。雖然,我不得不放置LoadComplete事件而不是Load事件。我的頁面上有Control Toolkit。不知何故,當我在Page_Load中擁有導航網址時,事件並未觸發,網址也沒有加載。但是當我把它們放在Page_LoadComplete中時,它工作得很好。 – dotnetN00b 2010-09-23 13:28:23

2

嘗試<%# ... %>並調用this.DataBind()(或Me.DataBind())當你的頁面加載。

+0

這工作。但它打破了我使用的textChanged事件。所以我使用了下面的解決方案。 – dotnetN00b 2010-09-23 13:27:21

相關問題