六
三
一个
我有控制器:
DBEntity context = new DBEntity(); // My EntityModel
public ActionResult Index()
{
return View();
}
public JsonResult GetStartValues()
{
var b = context.MyTable.ToList();
return Json(ConvertObj(b));
}
private object ConvertObj(List<MyTable> lst)
{
var list = new object[lst.Count];
for (int i = 0; i < lst.Count; i++)
{
list[i] = new { value = lst[i].MyValue, name = lst_meals[i].MyText };
}
return list;
}
我的问题是:如何初始化这个值作为起始值
使用jQuery
.
我可以使用这样的解决方案:
public ActionResult Index()
{
var model = context.MyTable.ToList()
return View(model);
}
在.aspx中
<select id="myDropdown" name="myDropdown">
<% foreach(var obj in Model.MyTableList) {%>
<option value="<%: obj.MyValue %>"><%: obj.MyText %></option>
<% } %>
我想通过对服务进行异步调用来填充下拉列表,但我不知道必须使用什么事件。。。如果我尝试填充下拉列表:
$(document).ready(function () {
$.post("/GetStartValues/", { }, function (data) {
populateDropdown($("#[id*='myDropdown']"), data);
});
}
function populateDropdown(select, data) {
select.html(''); //clear all items
$.each(data, function (id, option) {
select.append($('<option></option>').val(option.value).html(option.name));
});
}
但它不起作用。我想在页面加载后立即使用Jquery请求将值插入到下拉列表中。