2012-07-20 22 views
0

我有一個內容頁面,其中包含一些動態HTML和一些靜態HTML。這種動態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" %>` 

以下是內容頁

<%@ 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的母版頁裏面裝的,而是動態內容母版頁之外呈現,因此顯示錯誤渲染。

+0

對不起,您的問題讓你所提供的信息沒有什麼意義。你在用'hid'做什麼,它在哪裏顯示,請提供更多信息 – freefaller 2012-07-20 14:18:36

+0

@freefaller hid是內容頁面中的隱藏變量,用於保存內容頁面加載期間創建的動態HTML。假設hid變量中的HTML以主表單形式呈現,但它顯示在主表單之外。我在上面的問題中編輯了代碼片段。 – user1194373 2012-07-20 14:55:48

+0

請學會正確設置您的問題的格式(請參閱此處瞭解更多信息)(http://stackoverflow.com/editing-help)) – freefaller 2012-07-20 15:02:36

回答

0

<asp:HiddenField>的要點是它是隱藏的 - 因此它所包含的任何信息都應該是永遠不會在頁面上呈現的定義。

如果該字段的內容包含任何可能導致其中斷的HTML代碼(例如未編碼的HTML代碼)......則可能會顯示某些內容,但很可能不正確。我認爲這是你所看到的。

我不完全知道確切原因正在使用的HiddenField,或者你想用它的內容做什麼,但我會建議您更改以下行...

hid.Value = node1.InnerText; 

與...

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