2013-04-03 39 views
0

設置在超鏈接動態HREF下面的工作:在母版

<% if (Sql.ToBoolean(HttpContext.Current.Application["CONFIG.SHOW_REPORTING_LINK"])) 
    { 
%> 
    <asp:HyperLink ID="hypReporting" ForeColor="white" Text='Reporting' NavigateUrl="#" CssClass="myAreaLink" Runat="server" /> 
      &nbsp;<font color="white">|</font>&nbsp; 
<% 
    } 
%> 

不過,我需要的,而不是靜態的動態鏈接。我嘗試這樣做:

<% if (Sql.ToBoolean(HttpContext.Current.Application["CONFIG.SHOW_REPORTING_LINK"])) 
    { 
%> 
    <asp:HyperLink ID="hypReporting" ForeColor="white" Text='Reporting' NavigateUrl="<%# Eval(HttpContext.Current.Application["CONFIG.REPORTING_URL"]) %>" CssClass="myAreaLink" Runat="server" /> 
      &nbsp;<font color="white">|</font>&nbsp; 
<% 
    } 
%> 

但是,它給了我,說,一個錯誤「服務器標記的格式不正確。」

我通常會做到這一點從代碼隱藏,但有一個名爲.master文件中沒有代碼隱藏,對不對?

感謝您的幫助。

回答

3

它在NavigateUrl雙引號所造成的不良服務器標籤。它應該是:

NavigateUrl='<%# Eval(HttpContext.Current.Application["CONFIG.REPORTING_URL"]) %>' 

你應該擺脫<font>標籤的,只是使用CSS。該標籤已被棄用。

是的,有代碼隱藏在母版頁文件(點擊右鍵 - >查看代碼,或在Solution Explorer中,確保「顯示所有文件」點擊)。在那裏做它可能會更容易/更乾淨。

+0

+1速度比我 –

+0

謝謝,這適用於我的問題。但是,代碼隱藏的東西不起作用。我已經嘗試右鍵單擊並選擇查看代碼;它只是提出了相同的.master頁面。下面是我所看到的,當我點擊截圖顯示所有文件http://picturepush.com/public/12582556 – user1477388

+1

@ user1477388嗯......我想也許你將它設置爲不具有後面,因爲你正在做的所有代碼的頁面本身的代碼?如,頂行沒有代碼隱藏的參考,比如'<%@主LANGUAGE =「VB」代碼隱藏=「Site1.master.vb」 ...'? – MikeSmithDev