1.直接从Controller取进view
Controller:
function GetRole(){
foreach (var item in GetRole) //GetRole为之前声明过的集合
{
if (item.Role != null && item.Role != "") {
GetRoleList.Add(item.Role, item.Role);
}
}
ViewBag.GetRole = GetRoleList;
return JsonConvert.SerializeObject(GetRole);
}
一定要记得在Index()方法里调用GetRole()
View:首先要在开头加上
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
}
然后在要引入的地方
@foreach (var item in ViewBag.GetOpsLead)
{
<option value="@item.Key">@item.Value</option>
}
根据我对ViewBag的理解,这样做应该会更方便?不用js调数据了,直接在页面上调用了controller里的方法
2.从js导入
在数据库将数据选项存为List(string)类型
从List(T)到List(string)的转换:
Dictionary<string, List<string>> dic = new Dictionary<string, List<string>>();
List<string> list = new List<string>();
List<database> list = dbe.database.OrderBy(p => p.column).ToList();
foreach (database im in datalist) //database为数据库名,datalist为取出的值,类型为list<database>
{
list.Add(im.column); //list为空list,类型为string<list>,column为实体中字段名
}
dic.Add("COLUMN", list);
return dic;
在js中:
$.ajax({
type: 'GET',
url: '略',
success: function (result) {
$(result['COLUMN']).each(function (i, str) {
$('#ID).append('<option value="' + str + '">' + str + '</option>'); //下拉列表的id
});
}
});