2012-01-03 22 views
0

我在我的aspx中有一個名爲xxx的文字。Asp.net黃色代碼<%vs明確的asp控件

現在讓我們進入JS世界。

我總是習慣:

alert('audit.aspx?claim_id=<%= xxx.Text%>'); 

但我見過這樣的代碼:

 alert('audit.aspx?claim_id=<asp:Literal id="xxx" runat="server" />'); 

這也是工作。

我可以得出結論:<asp:Literal等於<%=語法嗎?

我知道他是一個RUNAT服務器項...

,但再次 - 我想看到的差異。

回答

2

asp:Literal控件只是在頁面呈現時輸出其Text屬性的值。這就是爲什麼當客戶端查看時,生成的JavaScript看起來相同。但是兩者不一樣,不是。

<%= xxx.Text %>顯式讀取此文本屬性的值並將其寫出。 Literal控件將位於頁面上的其他位置,其Text屬性也將被寫出。

在您的JavaScript中放置asp:Literal控件依賴於該控件的呈現以將值放在那裏,並且因爲這是它在頁面中的位置,所以不需要在其他地方呈現相同的內容。

但是,兩者都不是孤立地採取這種控制似乎是適當的使用我的腦海。如果您想要寫出簡單的文本,則將其作爲Page衍生的代碼隱藏類的屬性公開。

+0

這不是我的問題,我知道字面是什麼。我詢問了什麼時候要互換字符串 - 而且他看到 2012-01-03 15:00:30

+0

JavaScript看不到。這兩種形式都由服務器端代碼呈現爲Literal控件的Text屬性值。 – 2012-01-03 15:01:59