现在在这个问题上停留了几个小时......认为这与在循环中使用 $.get 及其异步性有关,但我无法弄清楚。
如果在 $.get 行上通过 firebug 添加断点,则此代码有效,但如果我只是运行它,则它不起作用。
基本上我想在页面加载时循环遍历 20 个隐藏字段并根据该值设置下拉列表值
for (i = 1; i <= 21; i++) {
var sMessageTypeID = $('#MessageOrder' + i).val();
//This line calls the Controller and populates the corresponding MessageType Drop down
$.get('@Url.Action("GetMessageTypeByMessageTypeID")', { MessageTypeID: sMessageTypeID }, function (data) {
$('#MessageTypes' + i).val(data);
});
};
这是控制器代码
public JsonResult GetMessageTypeByMessageTypeID(long MessageTypeID)
{
tblMessageType tblMessageType = db.tblMessageTypes.Single(t => t.MessageTypeID == MessageTypeID);
return Json(tblMessageType.MessageType, JsonRequestBehavior.AllowGet);
}