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;

問題は、2行目にエラーがあることです。

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 に答える