在经典ASP中, 我可以轻松地显示这样的HTML内容:
<% if a=b then %>
<div>line 1 (a static content1 here)</div>
<div>line 2 (a static content2 here)div>
<div>line 3 (a static content3 here)</div>
<div>... (more than 10000 lines, no problem)</div>
<% end if %>
但是我怎样才能在ASP.NET中轻松完成?
我可以使用Response.Writeline
编写一些代码Response.writeLine("<div>Line 1</div>")
Response.writeLine("<div>Line 2</div>")
Response.writeLine("<div>Line 3</div>")
....
但这很难显示大量内容
答案 0 :(得分:0)
VBScript和vb.net是不同的语言,但它们具有相似的语法,因此上面的简单示例实际上应该与VB.net一起使用。您需要记住的一件事是,VB.net默认情况下Option Explicit
处于启用状态,因此您必须声明您的变量。 (在Classic ASP VBScript中打开它是个好习惯)。以下肯定会起作用
<% Dim a As String, b As String
a = "ABCD"
b = "ABCD"
If a = b Then
%>
<p> Your 10000 lines of code here</p>
<% End If %>
然而,虽然没有什么能阻止你在.aspx文件中使用Classic asp风格的scriptlet,但ASP.net提供了更好的选择。我建议你看看<asp:Literal>
控件,例如:
<asp:Literal ID = "EFGH" runat="server" Visible="false">
Your 10000 lines of code
</asp:Literal>
然后在代码隐藏中你可以使用
Dim a As String, b As String
a = "ABCD"
b = "ABCD"
If a = b Then
EFGH.Visible = true
End If
这样代码隐藏会改变控件的Visible
属性
答案 1 :(得分:0)
通常,从代码隐藏中将HTML内容写入您的页面并不是最好的主意。 HTML标签不匹配等的可能性太大。
话虽如此,如果你想这样做......有几种选择。
标签。这将允许您通过该文字标记将一些HTML(或原始内容)添加到页面中。如果要呈现来自数据库或Web服务的HTML,这非常方便。
如果您只想隐藏/显示内容,那么将HTML包装在asp:panel标签中是一个好主意。然后,您将从Visual Studio中获取所有HTML语法检查,并根据需要显示/隐藏该面板。