在ASP.NET中显示大型多行HTML内容

时间:2016-12-16 03:04:12

标签: html asp.net vb.net asp-classic

在经典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>")
....

但这很难显示大量内容

2 个答案:

答案 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语法检查,并根据需要显示/隐藏该面板。