我在C#中使用asp.net创建了一个MasterPage。这包含我的菜单等。我动态创建一个XDocument。然后我用:
Response.Write(outputDoc);
将我的XDocument显示为网页。它按预期显示,但它会覆盖我的MasterPage。我真的想把outputDoc放在我的MasterPage上的容器中,但我找不到办法。
我完全迷失了。我必须使用错误的术语,或者尝试以完全错误的方式执行此操作,因为我无法使用Google找到任何远程相关的内容。
感谢您的帮助。
答案 0 :(得分:2)
也许您可以使用 Literal 控件并将其内容设置为 outputDoc XDocument
的内容.aspx网页的代码
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Literal ID="Literal1" runat="server" />
<asp:Literal ID="Literal2" runat="server" />
<asp:Literal ID="Literal3" runat="server" />
</div>
</form>
</body>
</html>
.aspx.cs页面的代码
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Literal1.Mode = LiteralMode.Encode;
Literal2.Mode = LiteralMode.PassThrough;
Literal3.Mode = LiteralMode.Transform;
Literal1.Text = @"<font size=4 color=red>Literal1 with Encode property example</font><script>alert(""Literal1 with the Encode property"");</script></br></br>";
Literal2.Text = @"<font size=4 color=green>Literal2 with PassThrough property example</font><script>alert(""Literal2 with the PassThrough property"");</script></br></br>";
Literal3.Text = @"<font size=4 color=blue>Literal3 with Encode Transform example</font><script>alert(""Literal3 with the Transform property"");</script></br></br>";
}
}
示例和更多细节可以在这里找到 的 http://www.c-sharpcorner.com/uploadfile/puranindia/literal-control-in-Asp-Net/ 强>