Asp.net黄色代码<%vs Explicit asp控件

时间:2012-01-03 14:53:41

标签: asp.net

我的aspx中有一个名为xxx的文字。

现在让我们进入JS世界。

我一直用:

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

但我见过这样的代码:

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

这也有效。

我可以断定<asp:Literal等于<%=语法吗?

我知道他是RUNAT服务器项目......

但又一次 - 我希望看到差异。

2 个答案:

答案 0 :(得分:2)

asp:Literal控件在呈现页面时只输出其Text属性的值。这就是为什么生成的JavaScript在客户端查看时看起来相同。但两者不一样,没有。

<%= xxx.Text %>显式读取此text属性的值并将其写出。 Literal控件将位于页面的其他位置,其中Text属性也将被写出。

asp:Literal控件放在JavaScript中依赖于呈现此控件以将值放在那里,并且因为这是它在页面中的位置,所以不需要在其他地方呈现相同的内容。

然而,在我看来,这两种控制都不适合使用。如果您想要写出简单的文本,那么将其作为Page派生的代码隐藏类的属性公开。

答案 1 :(得分:0)

Literal类基本上是文本的占位符,但它也会公开您可以挂钩的事件以便更好地控制。

在这里查看API http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.literal.aspx