2016-04-20 11 views
0

jqueryでモデルを宣言し、$ .ajaxでPOSTパラメータとして渡す方法はありますか?jqueryでMVCモデルを宣言し、データパラメータとして渡します。

私は、

public class UserDetail 
{ 
    public Role RoleDetail {get;set;} 
} 

public class Role 
{ 
    public int RoleId {get;set;} 
} 

とJSのように、このようなもの

function postData(id) 
{ 
    @{ var model = new UserDetail{ Role = new Role{ RoleId = id}; 

    $.ajax({ 
    type: 'POST', 
    url: ... 
    data: JSON.stringify(model) 
    }); 
} 

任意のアイデアをモデルがありますか?

答えて

0

これはできません。理由はMvcであるというのは、javascriptがクライアント側であるサーバー側の技術です。したがって、クライアント側でサーバーサイドメソッドを呼び出すことは明らかに不可能です。

あなたがIDを受け入れ、オブジェクトを返すMVCでのActionResultを作成しなければ - そして、あなたが投稿する前に、AJAXでそれを呼び出すので、何かのように:

function postData(id) 
{ 
    $.getJSON("CreateUserDetail?id=" + id, function(model) { 
     $.ajax({ 
     type: 'POST', 
     url: ... 
     data: JSON.stringify(model) 
     }); 
    })  
} 

しかし、私の意見では、それは、帯域幅の浪費でありますなぜクライアント側で構築するだけではないのですか?

function postData(id) 
{ 
    var model = {"RoleDetail":{ "RoleId": id}}; 

    $.ajax({ 
    type: 'POST', 
    url: ... 
    data: JSON.stringify(model) 
    }); 
} 
関連する問題