2009-02-20 14 views
5

tarafından otomatik olarak çözülür. JavaScript kodumda bir ASP.NET MVC yöntemini çağırmak için AJAX kullanıldığında, JSON'daki değerler iletilir.ASP.NET MVC, JSON kodlu parametreleri AJAX

var request = new XMLHttpRequest(); 
request.open("GET", "http://www.awesome.com/DoSomething?param1=%22some%20string%22&param2=1234", true); // parameter string created with JSON.stringify 

veya ASP.NET MVC tarafında

var request = new XMLHttpRequest(); 
request.open("POST", "http://www.awesome.com/DoSomething", true); 
// set some headers 
request.send("param1=%22some%20string%22&param2=1234"); // parameter string created with JSON.stringify 

, ben aramayı işlemek için benim yöntemi vardır: Örneğin: berbat Ne

public void DoSomething(string param1, string param2) { 

Param1 tırnak ile çevrilidir edilir işaretleri:

"some string" 
daha berbat Ne 10 param2 dize olduğu:

1234 

Gerçekten bir tamsayı olarak değerini istiyoruz. Yani, ilk yapmam gereken şey bu yavruları çözmek için DataContractJsonSerializer kullanmaktır. Bu yüzden dizgimin tırnak işareti yoktur ve ikinci dizgim bir int'ye dönüştürülür. İlk bir ya da iki kez çok kötü değil, ama her bir AJAX eylemi için yaşlanmak zorunda kalıyor. Ben sadece sigara AJAX eylemler için yapılır sever, sağ atlamak ve JSON kod çözme endişesi olmadan benim değerleri kullanmak nerede

public void DoSomething(string param1, int param2) 

:

İdeal olarak, gibi bir imza olması müthiş olurdu .

Bunu yapmanın bir yolu var mı?

cevap