0

次のフィールドを持つ登録フォームを含む部分ビューがあります。

  1. Eメール
  2. ファーストネーム
  3. 苗字
  4. パスワード

ビューモデルを使用せずにjQuery Ajaxを使用してフォームを投稿しています。

質問: 彼のコンテキストで View Model を使用しないのは良い方法ですか?

質問: 単体テスト ケースの場合、私のアプローチは役に立ちませんか?

jQuery

$.ajax({
    url: "@Url.Action("Action", "Controller", new { area = "Area" })",
    type: "POST",
    contentType: 'application/json; charset=utf-8', 
    dataType: "json",
    data: JSON.stringify({mail : "mails", nam : nam ......}),
    traditional: true,
    success: function (data) {
        alert("wsaved");
    }
});

[HpPost]
public Actionresult abc(string mail, string nam, sring lasnam)
{
     return Json(new {succss = ru});
}
4

2 に答える 2

0

MVC 4 で ApiController を使用している場合は、(デフォルトで) Newton Json.NET を使用するモデルを使用してバインドできます。

ResponseModel

[DataContact]
public class ResponseModel
{
    [DataMember]
    public string Status { get; set; }
}

アクションモデル

[DataContact]
public class RegisterUserViewModel
{
    [Required]
    [DataMember(isRequired=true)]
    public string Email { get; set; }

    [DataMember]
    public string FirstName { get; set; }

    [DataMember]
    public string LastName { get; set; }

    [Required]
    [DataMember(isRequired="true")]
    public string Password { get; set; }
}

ApiController アクション

[HttpPost]
public ReponseModel Register(RegisterActionModel actionModel)
{
    if (this.ModelState == valid)
    {
        //do stuff
        return new ResponseModel()
        {
            Status = "OK"
        };

    }
    else
    {
        return new ResponseModel()
        {
             Status = "Invalid Data"
        }
    }
} 
于 2013-08-26T16:28:32.843 に答える