C# 如何将json数据绑定到Asp.MVC5中的dropdownlist?
嗨,我有一个字段叫Employee。它是下拉式的。我想使用ajax将数据库中的数据绑定到下拉列表中。 我尽了最大的努力,但是它没有正确地绑定下拉列表。还有一个疑问是必须使用任何通用插件来使用ajax将数据绑定到下拉列表 我的模型代码visitorsviewmodel 我的看法 我的JqueryC# 如何将json数据绑定到Asp.MVC5中的dropdownlist?,c#,json,ajax,asp.net-mvc-5,C#,Json,Ajax,Asp.net Mvc 5,嗨,我有一个字段叫Employee。它是下拉式的。我想使用ajax将数据库中的数据绑定到下拉列表中。 我尽了最大的努力,但是它没有正确地绑定下拉列表。还有一个疑问是必须使用任何通用插件来使用ajax将数据绑定到下拉列表 我的模型代码visitorsviewmodel 我的看法 我的Jquery }) 您应该能够轻松地修改以下内容,以使用Ajax而不是Razor 请根据您的口味修改 <select name="ddlX" id=""ddlX"> @foreach (var i
}) 您应该能够轻松地修改以下内容,以使用Ajax而不是Razor 请根据您的口味修改
<select name="ddlX" id=""ddlX">
@foreach (var item in model)
{
<option value="@item.EmployeeID" selected="selected">@item.EmployeeName</option>
}
</select>
然后在服务器端,您可以确定正在循环的项目数
for (int i = cursor; i < endNumber; i++)
{
string ddlID = "ddlX";
var selectedDDLitem = Request.Form[ddlX];
}
这也适用于分页列表
如果你喜欢,我可以做一些html和css的东西来展示如何使用div将返回的html放入。我不确定您是否询问如何填充div或如何正确循环数据
我这样回答是因为它也适用于MVC6。将员工集合添加到ViewModel或Viewbag,然后将集合绑定到下拉列表。根据我们的讨论,您希望在ViewModel中添加一个集合,现在: 视图模型
public class VisitorsViewModel
{
public string EmployeeId
{
get;
set;
}
public IEnumerable<Employee> Employees
{
get;
set;
}
}
//There might be other properties as well in this class
public class Employee
{
public Guid? EmployeeId
{
get;
set;
}
public string DisplayName
{
get;
set;
}
}
我在这里编了一把小提琴-不清楚你在问什么。你是说没有呈现选项吗?为什么要使用ajax来填充选项?实际上,stephen我知道这个选项只是为了将数据绑定到下拉列表。然后在绑定数据后,我在下拉列表中再次选择了哪个值,我想将其传递给cottroller进行另一个操作,但为什么要使用ajax而不是在控制器和将它传递给视图?您还没有解释您的问题所在。@StephenMuecke通常我想将数据库中的数据绑定到下拉列表。我知道有两种方法,一种是使用ajax,另一种是使用viewbag,但使用viewbag并不是正确的绑定方式,您不需要它。
$(function () {
debugger
$.ajax(
'@Url.Action("GetEmployee", "NextFollowUp", new { Area = "Sales" })', {
type: "GET",
datatype: "Json",
success: function (data) {
debugger;
$.each(data, function (index, value) {
$('#EmployeeID').append('<option value ="' + value.EmployeeID + '">' + value.DisplayName + '</option>');
});
}
});
<select name="ddlX" id=""ddlX">
@foreach (var item in model)
{
<option value="@item.EmployeeID" selected="selected">@item.EmployeeName</option>
}
</select>
for (int i = cursor; i < endNumber; i++)
{
string ddlID = "ddlX";
var selectedDDLitem = Request.Form[ddlX];
}
public class VisitorsViewModel
{
public string EmployeeId
{
get;
set;
}
public IEnumerable<Employee> Employees
{
get;
set;
}
}
//There might be other properties as well in this class
public class Employee
{
public Guid? EmployeeId
{
get;
set;
}
public string DisplayName
{
get;
set;
}
}
@Html.DropDownListFor(model =>model.EmployeeId, new SelectList(Model.Employees,"EmployeeId","DisplayName"),"Select", new{@class="form-control"})