C#ASPX - フォーム提出クエリ

私はSQLデータベースにデータを入力し、成功または失敗を返す応答を返す必要があるC#aspx形式を持っています。 Default.aspxページから送信されるフォームデータを取得する方法がわかりません。私の基本的なコード構造は以下の通りです:

Default.aspx

<form runat="server" name="aForm" action="Results.aspx" method="post" onsubmit="ValidateForm()">  
  <input name="firstname" type="text" />
  <input name="surname" type="text" />
  <input type="submit" value="Submit" />
</form>

Results.aspx.cs

public partial class AwardsForm : System.Web.UI.Page {

  protected void Page_Load(object sender, EventArgs e) {

    if (!this.IsPostBack){
        Response.Redirect("Default.aspx");
    } else (this.IsPostBack) {
        writeResults(FormSubmit()); 
    }

    protected boolean FormSubmit() {
     //get form data and insert it into SQL
     //return true/false based on success
    }

    protected void writeResults(boolean results) {
      if (results == true) {
        Response.Write ("Success");
      } else {
        Response.Write ("Failed");
      }
    }

}
0

3 答え

Request.Form ["key"] で投稿されたフォームデータを取得できます。フォームエレメントが runat = "server" で装飾されていれば、あなたのコードの背後にあるidでそれらをつかむ



string postedText = yourTb.Text;

または(これはあまり一般的ではありませんが)

<input type="text" runat="server" id="yourOtherTb" />

string otherPostedText = yourOtherTb.Value;

または、純粋にhtml形式の入力で作業している場合:

<input type="text" id="clientTb" name="clientTb" />

string clientText = Request.Form["clientTb"];
4
追加された
@Bonjourの機械キーのことについてはわからない
追加された 著者 Adam Rackis,
ありがとう、多くの仲間は、私によく見える。このマシンの主要なビジネスについて考えてみましょうか?これはローカルフォームであり、オンラインでは使用されません。私はここで取られた措置を取るために勝つことを試みなかった: sharemypoint。 wordpress.com/2009/04/15/machinekey-in-webconfi‌ g
追加された 著者 Matt Rowles,
問題はありません、私はページのハックを使って動作させました。あなたの回答のおかげで、ありがとう、ありがとう。
追加された 著者 Matt Rowles,

あなたはこのようなことをしているので

 <input name="firstname" type="text" />
  <input name="surname" type="text" />
  <input type="submit" value="Submit" />

入力コントロールの name 属性がサーバー(IIS)にポストバックされます。したがって、あなたはこれを行うでしょう。

If(IsPostBack)
{
  string firstName = Request.Forms["firstname"];
  string surName = Request.Forms["surname"];

if(string.IsNullOrEmpty(firstName))
{
Response.Write("Firstname is required");
}
}
1
追加された
@Bonjour msdn.microsoft.com/en-us/library/w8h3skw9.aspx マシンキーは、同じドメイン内の他のアプリケーションに投稿するときにフォームデータの暗号化と復号化に使用されます。あなたの必要条件は必要ありません。web.configから セクションを削除してください
追加された 著者 Deeptechtons,
ありがとうございます、この答えは良いです。あなたが上記のアダムの答えに対する私の返答に何か入力があるなら、それはすばらしいおかげです。
追加された 著者 Matt Rowles,

次のコードを試してみてください。

string firstname = Request.Form["firstname"]

string surname = Request.Form["surname"]
1
追加された
ありがとうございます、この答えは良いです。あなたが上記のアダムの答えに対する私の返答に何か入力があるなら、それはすばらしいおかげです。
追加された 著者 Matt Rowles,