【问题标题】:HTML rendered incorrectly for dynamic HTML content using master page使用母版页的动态 HTML 内容的 HTML 呈现不正确
【发布时间】:2012-07-19 20:07:42
【问题描述】:

我有一个包含一些动态 HTML 和一些静态 HTML 的内容页面。此动态 HTML 被分配给页面加载中的隐藏变量。

内容页面 HTML

<asp:HiddenField id = "hid"  runat="server"></asp>

内容页面的CS

protected void Page_Load(object sender, EventArgs e)
{
  hid.Value = node1.InnerText;
}

此内容页有母版页。下面是它的页面指令

<%@ Page Title="" Language="C#" MasterPageFile="~/log.Master"
  AutoEventWireup="true" CodeBehind="Log.aspx.cs" Inherits="s.Log"
  ValidateRequest="false" %>`

下面是内容页面的sn-p

<%@ Page Title="" Language="C#" MasterPageFile="~/log.Master"
  AutoEventWireup="true"  CodeBehind="Log.aspx.cs" Inherits="s.Log"
  ValidateRequest="false" %>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
  <asp:HiddenField id = "hid"  runat="server"/>
</asp:Content>`

现在,当内容页面加载时,静态 HTML 会加载到母版页内,但动态内容会呈现在母版页外,因此会显示错误的渲染。

【问题讨论】:

  • 抱歉,根据您提供的信息,您的问题毫无意义。你在用hid做什么,在哪里显示,请提供更多信息
  • @freefaller hid 是内容页面中的隐藏变量,用于保存在内容页面加载期间创建的动态 HTML。 hid 变量中的 HTML 应该以 Master 表单呈现,但它显示在 Master 表单之外。我在上面的问题中编辑了代码 sn-p。
  • 请学习正确格式化您的问题(请see here for more information

标签: asp.net html dynamic rendering


【解决方案1】:

&lt;asp:HiddenField&gt; 的意义在于它是隐藏的 - 因此其中包含的任何信息都应该是定义永远不会在页面上呈现。

如果字段的内容包含任何可能导致其中断的 HTML 代码(例如尚未编码的 HTML 代码)...那么它可能会显示某些内容,但很有可能是不正确。我想这就是你所看到的。

我不完全确定您使用HiddenField 的确切原因,或者您要如何处理它的内容,但我建议您更改以下行...

hid.Value = node1.InnerText;

随着...

hid.Value = Server.HtmlEncode(node1.InnerText);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-26
    • 2012-05-29
    • 1970-01-01
    • 2013-02-20
    • 2020-07-26
    • 2013-09-08
    • 2019-09-16
    • 2017-10-16
    相关资源
    最近更新 更多