0

ビューに 2 つのフィールドを持つフォームがあります。ユーザーが送信ボタンをクリックすると、そのユーザーとユーザーがフォームに入力したデータに固有のデータがクエリされます。ユーザーの電子メール アドレスは URL で渡されます。(例: ActionName?user_email=yaddd@yyy.com) URL からフォーム データと電子メールを収集し、コントローラーに渡す必要があります。

データベースからクエリを実行し、ユーザーにメッセージを表示するには、データが必要です。

この問題に関する適切なリンクやサイトが見つかりません。

これは私がこれまでに試したことです:

    [HttpPost]
    public ActionResult Collect(String s1, String s2, string user_email)
    {}
    and 
    [HttpPost]
    public ActionResult Collect(FormCollection fm, string user_email)
    {}

フォームデータをまったく収集していないようです。何を指示してるんですか?

4

3 に答える 3

1

モデル バインディングの使用を検討しましたか? 理想的には、フォームで送信するデータにモデル バインディングを使用し、クエリ文字列のアクションでパラメーターを使用します。したがって、あなたの場合、以下のようなモデルを定義します

public class MyModel
{
    public string S1 {get; set;}
    public string S1 {get; set;}
}

そして、アクションを次のように定義します

[HttpPost]
public ActionResult Collect(MyModel model, string user_email)
{
}

これは常に私のために働いています。試してみて、うまくいかない場合はお知らせください

于 2012-11-07T09:59:02.707 に答える
1

同じコントローラーでリクエストを処理していますか? 正しいコントローラーにルーティングしているかどうか疑問に思っています。

それ以外の場合は、次を使用してみてください。

[HttpPost]
public ActionResult Collect( /* Your input parameters */ )
{
   string email = Request.QueryString["user_email"];
   // Code
}
于 2012-11-07T06:57:35.413 に答える
0

これがついに機能しました!

[HttpPost]
public ActionResult Collect(MyModel model)
{

string email = Request.QueryString["user_email"];
// Code

}
于 2012-11-09T05:59:29.370 に答える