我仍然在試用MVC3的腳步。我還沒有找到一個好的資源來讓我開始。我想知道如果我可以使用一個web服務,當用戶輸入一個郵政編碼時返回一個字符串?從MVC ActionResult表單顯示jQuery對話框
我已經使用json,但在ASP.NET Web應用程序中使用了web服務。我能夠根據用戶輸入的郵政編碼返回特許經營權。我想知道我是否可以在MVC中做同樣的事情?
如何將遵循MVC工作轉換:
// Html code in my Test.aspx page
<input id="txtZipCode" type="text" onchange="javscript:changed(this.value)" />
<div id="Result"></div>
這裏我javascript代碼:
function changed(value) {
$.ajax({
type: "POST",
url: "Test.aspx/GetData",
data: "{'zipcode': '" + value + "'}",
contentType: "application/json;charset=utf-8",
dataType: "json",
success: function (msg) {
// Replace the div's content with the page method's return.
$("#Result").text(msg.d);
},
error: function() {
$("#Result").text('Failed');
}
});
}
這裏是我的代碼背後:
[System.Web.Services.WebMethod]
public static string GetData(string zipcode)
{
srvc.bbcs tmp = new srvc.bbcs(); // consume test webservice
string code = tmp.GetFETerrByZip(zipcode);
return code;
}
感謝您指點我正確的方向!我幾乎可以工作。我的jQuery不斷返回我的錯誤消息,並且在調試模式下,我的控制器中的代碼永遠不會被擊中。我試過使用JsonResult而不是ActionResult和其他各種嘗試。對此有何建議? – thatstevedude 2012-02-23 00:23:39
我發現使用螢火蟲,我的jQuery返回404錯誤,因爲它找不到「MyController/GetData」.... – thatstevedude 2012-02-23 00:38:40
我在我的控制器名稱之前添加了正斜槓,一切都很完美! (url:'/ YourController/GetData') – thatstevedude 2012-02-23 16:40:08