错误与表单操作
问题描述:
我有以下的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">
答
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。
几乎所有的'NullReferenceException'都是一样的。请参阅“[什么是.NET中的NullReferenceException?](http://*.com/questions/4660142/what-is-a-nullreferenceexception-in-net)”的一些提示。 – 2013-03-20 23:40:07