【问题标题】:Display large multi-line HTML content in ASP.NET在 ASP.NET 中显示大型多行 HTML 内容
【发布时间】:2016-12-16 03:04:11
【问题描述】:

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

但是显示大内容太难了

【问题讨论】:

  • 您使用的是restful服务吗?到目前为止,您尝试过什么?

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


【解决方案1】:

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 文件中使用经典的 asp 样式 scriptlet,但 ASP.net 提供了更好的选择。我建议你看看&lt;asp:Literal&gt; 控件,例如:

<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 属性

【讨论】:

  • 我实际上推荐asp:Panel,而不是这里的文字。
【解决方案2】:

通常,将 HTML 内容从代码隐藏写入您的页面并不是最好的主意。 HTML标签不匹配的机会太多,等等。

话虽如此,如果你想这样做......有几种选择。

标签。这将允许您通过该文字标记将一些 HTML(或原始内容)添加到页面中。如果您想要呈现来自数据库或 Web 服务的 HTML,这将非常方便。

如果您只想隐藏/显示内容,那么将 HTML 包装在 asp:panel 标记中是个好主意。然后,您可以从 Visual Studio 获得所有 HTML 语法检查,并根据需要显示/隐藏该面板。

【讨论】:

    猜你喜欢
    • 2020-11-22
    • 2016-08-05
    • 2014-12-04
    • 1970-01-01
    • 1970-01-01
    • 2014-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多