错误与表单操作

问题描述:

我有以下的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"> 
+0

几乎所有的'NullReferenceException'都是一样的。请参阅“[什么是.NET中的NullReferenceException?](http://*.com/questions/4660142/what-is-a-nullreferenceexception-in-net)”的一些提示。 – 2013-03-20 23:40:07

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

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

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

基本上,你是Cross-Site Scripting。虽然它编译,它不会工作。当您到达ViewArticle.aspx页面时,您会收到错误消息。

如果你想要一个ASP.Net内的表单,使用iframe。