我有以下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 :(得分:0)
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。