【问题标题】:ASP.NET - How to write some html in the page? With Response.Write?ASP.NET - 如何在页面中编写一些 html?使用 Response.Write?
【发布时间】:2009-06-09 11:10:01
【问题描述】:

我需要根据字符串变量更改我正在编码的 asp.net 页面区域中的一些 html。 我正在考虑创建一个标签,然后更改其上的文本。

但字符串变量包含如下内容:

<h2><p>Notify:</p> alert</h2>

所以,我觉得给标签文本添加这个不是一个好主意

我该怎么办? 使用 response.write? 如果我使用response.write,我添加的代码将在html源代码的开头,我如何告诉他在特定的地方添加它?

谢谢

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    如果你真的不想使用任何服务器控件,你应该把Response.Write放在你想写字符串的地方:

    <body>
    <% Response.Write(stringVariable); %>
    </body>
    

    这种语法的简写是:

    <body>
    <%= stringVariable %>
    </body>
    

    【讨论】:

    • 正是我想要的,非常好。这个可以用来输出JSON字符串吗?
    【解决方案2】:

    为什么不试试 LiteralControl

     myLitCtrl.Text="<h2><p>Notify:</p> Alert</h2>";
    

    【讨论】:

      【解决方案3】:

      如果您想要比标签或其他特定于 ASP.NET 的服务器控件更轻的东西,您可以使用标准的 HTML DIV 或 SPAN 并使用 runat="server",例如:

      标记:

      &lt;span runat="server" id="FooSpan"&gt;&lt;/span&gt;

      代码:

      FooSpan.Text = "Foo";

      【讨论】:

      • 我看不出“”比“”轻多少。
      • 使用 VS2012 .net 4,它似乎是 .InnerText 和 .InnerHTML。谢谢,因为这对我有用!
      【解决方案4】:

      ASPX 文件:

      <h2><p>Notify:</p> <asp:Literal runat="server" ID="ltNotify" /></h2>
      

      ASPX.CS 文件:

      ltNotify.Text = "Alert!";
      

      【讨论】:

        【解决方案5】:

        使用文字控件并像这样编写您的 html:

        literal1.text = "<h2><p>Notify:</p> alert</h2>";
        

        【讨论】:

          【解决方案6】:

          您应该真正使用 Literal ASP.NET 控件。

          【讨论】:

            【解决方案7】:

            您可以使用 ASP.net 的文字控制,也可以使用面板或目的。

            【讨论】:

              【解决方案8】:

              您还可以在 asp.net 中使用 pageMethods。这样您就可以从 asp.net 函数中调用 javascript 函数。例如。

               [WebMethod]
                  public static string showTxtbox(string name)
                  {
                       return showResult(name);
                  }
                    
                  public static string showResult(string name)
                  {
                      Database databaseObj = new Database();
                      DataTable dtObj = databaseObj.getMatches(name);
              
                      string result = "<table  border='1' cellspacing='2' cellpadding='2' >" +
                                                          "<tr>" +
                                                              "<td><b>Name</b></td>" +
                                                              "<td><b>Company Name</b></td>" +
                                                              "<td><b>Phone</b></td>"+
                                                           "</tr>";
              
                      for (int i = 0; i < dtObj.Rows.Count; i++)
                      {
                          result += "<tr> <td><a href=\"javascript:link('" + dtObj.Rows[i][0].ToString().Trim() + "','" +
                           dtObj.Rows[i][1].ToString().Trim() +"','"+dtObj.Rows[i][2]+ "');\">" + Convert.ToString(dtObj.Rows[i]["name"]) + "</td>" +
                              "<td>" + Convert.ToString(dtObj.Rows[i]["customerCompany"]) + "</td>" +
                              "<td>"+Convert.ToString(dtObj.Rows[i]["Phone"])+"</td>"+
                           "</tr>";
                      }
              
                      result += "</table>";
                      return result;
                  }

              这里上面的代码是写在.aspx.cs页面中的。数据库是另一类。在 showResult() 函数中,我调用了 javascript 的 link() 函数。 结果以表格的形式显示。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2017-06-07
                • 2013-05-26
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2013-08-05
                • 1970-01-01
                相关资源
                最近更新 更多