1

ASP.NETMVC3を初めて使用しています。単一のパラメーターでコントローラーアクションを呼び出したい。このパラメーターはオブジェクトであり、単純なタイプではありません。たとえば、Controller = "Person"、Action = "Add"、このアクションの単一の引数はオブジェクトです: "Person" = {​​Name: "aaa"、Age:24}

そのようなパラメーター(Person)にニードされたModelBinderを実装します。私は次の指示でクライアントからこのアクションを呼び出しています:

var person= {}; 
person.Name = "aaa"; person.Age = 24;
var **url = '/Person/Add/' + $.param(person)**;
**window.location = url;**

これは、Asp.NETMVCでの私の最初のプログラムです。これが「url」を書く正しい方法だと思います。変数「url」(サーバーアクションを呼び出すために必要)を正しい形式で作成するのを手伝ってもらえますか?

考える

4

1 に答える 1

1

このようにクエリ文字列でそれを渡すことができます

var thatUrl = "/Person/Add?Name=aaa&age=24";
thatUrl=encodeURI(thatUrl);  //Let's encode :)
window.location.href=thatUrl;

あなたがHttpGETどちらかのように見えるアクションメソッドを持っていると仮定します

public ActionResult Add(string Name,string Age)
{
  //you will have the values in the argumens. Do something now
}

また

public ActionResult Add(Person model)
{
  //you will have the values in the object
  //check for model.Name & model.Age
}

NameとAgeがPersonクラスの2つのプロパティであると仮定します

于 2012-06-23T18:19:30.113 に答える