0

我有以下 C# 代码:

 AddCommentForm = string.Format("<form name=\"AddComment\" method=\"post\"  runat=\"server\" id=\"add_comment_form\"><p> TITLE:  <input type =\"text\" name=\"Title\" /></p><p> Contnt <textarea name=\"Content\" ></textarea></p><p> <button type=\"submit\">Submit!</button></p></form>");
                this.Form.Action = "ViewArticle.aspx?ArticleID=" + ArticleID;

问题是第二行有错误:

System.NullReferenceException was caught

我的问题是我怎么会出现这个错误?

为什么使用这段代码可以工作?

 <%
     this.Form.Action = "ViewArticle.aspx?ArticleID=" + ArticleID.ToString();
 %>
 <form name="AddComment"  method="post" runat="server">
4

1 回答 1

0
AddCommentForm = string.Format("<form name=\"AddComment\" method=\"post\" ....

以上代码无效。AddCommentForm 是一个 HtmlForm 控件 - 不是字符串。此外,您不能form在 ASP.Net 中的表单内创建另一个标签。

this.Form.Action = "ViewArticle.aspx?ArticleID=" + ArticleID.ToString();

基本上,你是跨站脚本。虽然它编译,但它不会工作。当你进入ViewArticle.aspx页面时,你会得到一个错误。

如果您想在 ASP.Net 中使用表单,请使用 iframe。

于 2013-03-20T21:33:21.170 回答