當我的JavaScript代碼使用AJAX調用ASP.NET MVC方法時,它傳遞JSON值。例如:ASP.NET MVC自動解碼來自AJAX的JSON編碼參數
var request = new XMLHttpRequest();
request.open("GET", "http://www.awesome.com/DoSomething?param1=%22some%20string%22¶m2=1234", true); // parameter string created with JSON.stringify
或
var request = new XMLHttpRequest();
request.open("POST", "http://www.awesome.com/DoSomething", true);
// set some headers
request.send("param1=%22some%20string%22¶m2=1234"); // parameter string created with JSON.stringify
在ASP.NET MVC的一面,我有我的方法來處理呼叫:
public void DoSomething(string param1, string param2) {
什麼很爛的參數1被包圍報價標記:
"some string"
什麼吸更多的是參數2是字符串:
1234
當我真正想要的值作爲一個整數。所以,我必須做的第一件事是使用DataContractJsonSerializer來解碼這些小狗,所以我的字符串沒有引號,我的第二個字符串被轉換爲int。第一次或兩次都不錯,但是對於每一個AJAX操作都會變得老掉牙。
理想的情況下,它會是真棒能有像簽名:
public void DoSomething(string param1, int param2)
在那裏我可以只跳權,用自己的價值觀,而不必擔心JSON解碼,就像是對非AJAX動作完成。
有沒有辦法做到這一點?
我一直在尋找這個無處不在!謝謝! – 2009-06-03 15:22:24