私の ASP.NET MVC アプリケーションでは、Register メソッドで 2 つの変数を更新するだけです。
コントローラーの登録メソッドは次のようになります (独自のビューを持っていないため、この場合に何を返すかわかりません):
[HttpPost]
public ActionResult Register(Container c)
{
String email = c.register.Email.ToString();
String password = c.register.Password.ToString();
return view();
}
私のインデックス ビューは次のようになります。
@model VoterMvcTest.Models.Container
@using(Html.BeginForm("Register", "Default1"))
{
@Html.LabelFor(o => o.register.Email)
@Html.EditorFor(o => o.register.Email)
@Html.LabelFor(o => o.register.Password)
@Html.EditorFor(o => o.register.Password)
<input class="button" type="submit" value="Register" />
}
私のモデルは次のようになります。
public class Container
{
public Login login { get; set; }
public Register register { get; set; }
}
public class Login
{
public string Email { get; set; }
public string Password { get; set; }
}
public class Register
{
public string Email { get; set; }
public string Password { get; set; }
}
ボタンをクリックすると、2 つの変数 email と password が設定され、別の方法で使用できるようになります。何を返す必要があるのか わかりません(目標は同じビューにとどまることです)。現在いるのと同じビュー (インデックス ビュー) にリダイレクトしようとしましたが、ポストバックが発生し、変数が失われているようです。