10

私はこの投稿の指示に従いました: 複数の送信ボタンを備えたAsp.net mvc3 razorとこれ が私のモデルです:

public class AdminModel
{
  public string Command { get; set; }
}

私のコントローラー

[HttpPost]
public ActionResult Admin(List<AdminModel> model)
{
   string s = model.Command;
}

私の見解

@using (Html.BeginForm("Admin", "Account"))
{
  <input type="submit" name="Command" value="Deactivate"/>
  <input type="submit" name="Command" value="Delete"/>
}

ポストバックすると、文字列 "s" は常に null になります。

このフォーラムの投稿で 2 番目の回答 (146 票の回答) も試しました: ASP.NET MVC フレームワークで複数の送信ボタンを処理するにはどうすればよいですか? それもヌルです。私は何を間違っていますか?

4

2 に答える 2

24

ボタンの名前でサーバー側から値を取得する必要があります。

public ActionResult Admin(List<AdminModel> model,string Command)
{
   string s = Command;
}
于 2012-04-20T16:48:35.010 に答える
0

投稿されたコードでわかることから、モデルのリストをコントローラーに送信しているのではなく、単一のモデル インスタンスのみを送信しています。コントローラーを次のように変更してみてください。

[HttpPost]
public ActionResult Admin(AdminModel model)
{
   string s = model.Command;
}
于 2012-04-20T16:46:45.023 に答える