使用c#在asp.net中动态创建网页

时间:2011-04-13 07:45:48

标签: c# asp.net

我有ASP.NET网页(mypage.aspx),其中包含TextBox(多行)和一个按钮。

问题:我想将html内容添加到文本框中,然后单击按钮,它应该根据我的html生成确切的网页。

示例:

<html>
<head><title></title></head>
<body>
<h1>Hello</h1>
</body>
</html>

生成的网页应包含Hello。

任何想法......?

提前感谢。

3 个答案:

答案 0 :(得分:1)

看一下this answer我前面提到的,在你的情况下bodytxtHTML.Text来获取用户提供的HTML。

要使其有效,您必须遵循以下步骤:

  1. system.web文件的web.config下添加此内容:
    <httpRuntime requestValidationMode="2.0" />
  2. 将其添加到.aspx文件中的Page指令:
    validateRequest="false"
  3. 否则您将无法发送原始HTML内容。

答案 1 :(得分:0)

使用像tincymce这样的html编辑器而不是文本框。将html编辑器的内容保存在数据库中,并使用其他页面调用它。或者按下按钮发布内容并在回发时显示(并隐藏文本框+按钮)

答案 2 :(得分:0)

这听起来像一个简单的HelloWorld类型的应用程序?虽然这是一个公共应用程序(可能是HTMLEncoding和解码),但您需要防止注入。但基本上(我假设文本框的webforms,但它可以很容易地为MVC更改):

这将在您的页面中:

在你的代码隐藏中(仅在Page_Load方法中): string content = HtmlContent.Text;

然后,您可以使用内容变量执行所需操作。如果您只是输出到同一页面添加:

到你的页面

并从以下位置更改您的代码隐藏: string content = HtmlContent.Text;

要 Output.Text = HtmlContent.Text;