我正在MVC3中創建一個應用程序,其中我有很多下拉列表 現在基於在第一個下拉列表中選擇的值,第二個drodown被填充。 我需要爲此編寫Ajax,並且我正在經歷一段艱難的時期。Ajax函數從下拉中獲取選定的值並將該值傳遞給控制器中的函數
我有我的第一個下拉菜單「選擇課程」,現在選擇哪個課程在該特定課程ID的幫助下,從數據庫中選擇相應的狀態。
例如,如果課程是「MCA」,州下拉式課程必須填充諸如馬哈拉施特拉邦,拉賈斯坦邦和很快的州。
我嘗試了阿賈克斯下面的代碼,但它不工作,並給了我一個錯誤
$("#Course").change(function() {
var Courseid = $("#Course").val();
var urlCourselocation = '@Url.Action("FetchstatebyCourse")';
$.ajax({
type: "POST",
url: urlCourselocation,
data: { id: Courseid },
success: function (data) {
$('#State').empty();
$('#State')
.append($('<option>', { value: "0" })
.text("-- Select State --"));
$.each(returndata, function (key, value) {
$('#State')
.append($('<option>', { value: value.Value })
.text(value.Text));
});
}
});
});
,並在控制器我已經寫了下面的功能:
public ActionResult FetchHobbyDetailByHobbyId(int Id)
{
LearnerService learnerservice = new LearnerService();
/* Here is some Code to fetch the state id from the database*/
ICollection<ProvincialState> state = learnerservice.FetchStateByStateid(stateid);
ViewBag.State = state;
if (HttpContext.Request.IsAjaxRequest())
return Json(new SelectList(
state,
"ProvincialStateID",
"ProvincialStateName"));
return View();
}
請幫我代碼和糾正我,如果我錯了..
什麼是錯誤,是它在服務器端或客戶端? – 2012-04-12 18:52:38
@GregB嘿對不起,它不給我錯誤,但是當我選擇課程它不會填充任何內部狀態下拉列表除了這個:「 - 選擇狀態---」 – user1274646 2012-04-12 19:00:16
如果你有螢火蟲安裝,我會看看後的反應和看看你回來什麼樣的數據(可能是空的)。另外我想你可能會考慮只返回Json(州),看看它給你什麼。另外,通過服務器端代碼的步驟,並確保它返回的東西 – 2012-04-12 19:05:45