Asp.net mvc MVC4在这些级联下拉列表中缺少任何内容
大家好,晚上好,大家好,我正在尝试获取数据,当我的一个下拉选择索引更改时,这里是我的代码,我找不到,我在哪里丢失或做错了什么,如果您能帮助我,我非常高兴,谢谢 这是我的脚本代码Asp.net mvc MVC4在这些级联下拉列表中缺少任何内容,asp.net-mvc,asp.net-mvc-4,razor,cascadingdropdown,cascading,Asp.net Mvc,Asp.net Mvc 4,Razor,Cascadingdropdown,Cascading,大家好,晚上好,大家好,我正在尝试获取数据,当我的一个下拉选择索引更改时,这里是我的代码,我找不到,我在哪里丢失或做错了什么,如果您能帮助我,我非常高兴,谢谢 这是我的脚本代码 $("#ddOrder").change(function (e) { alert = "basıldı"; var oID = $(this).val(); $.getJSON("../Accessory/loadWorkshops", { _or
$("#ddOrder").change(function (e) {
alert = "basıldı";
var oID = $(this).val();
$.getJSON("../Accessory/loadWorkshops", { _orderId: oID },
function (data) {
var select = $("#ddAcc");
select.empty();
select.append($('<option/>', {
value: 0,
text: "Aksesuar seçiniz"
}));
$.each(data, function (index, itemData) {
select.append($('<option/>', {
value: itemData.Value,
text: itemData.Text
}));
});
});
});
$(“#ddOrder”).change(函数(e){
alert=“basıldı”;
var oID=$(this.val();
$.getJSON(“../Accessory/loadWorkshops”,{u orderId:oID},
功能(数据){
变量选择=$(“#ddAcc”);
select.empty();
select.append($(''){
值:0,
文本:“Aksesuar seçinizing”
}));
$.each(数据、函数(索引、项数据){
select.append($(''){
value:itemData.value,
text:itemData.text
}));
});
});
});
这是我的控制器代码
public ActionResult addAccessoryShipment()
{
if (Session["_userName"] == null)
{
return RedirectToAction("Index", "Home");
}
HelperPartial _helper = new HelperPartial(
ViewData,
Session["_userName"].ToString(),
Session["_userPermissionId"].ToString()
);
Repository<Order> _ro = new Repository<Order>();
IEnumerable<SelectListItem> _orderSelectListItem = _ro.All().AsEnumerable().Select(s => new SelectListItem
{
Text = s.code,
Value = s.id.ToString()
}).OrderBy(o => o.Text);
ViewData["ddOrder"] = _orderSelectListItem;
Repository<AccessoryList> _ra = new Repository<AccessoryList>();
IEnumerable<SelectListItem> _clothSelectListItem = _ra.All().AsEnumerable().Select(s => new SelectListItem
{
Text = s.name,
Value = s.id.ToString()
}).OrderBy(o => o.Text);
ViewData["ddaList"] = _clothSelectListItem;
return View();
}
[AcceptVerbs(HttpVerbs.Get)]
public JsonResult loadWorkshops(string _orderId)
{
//IEnumerable<MyCustomerProductType> _myCustomerProductType = _rc.All().Select(s => new MyCustomerProductType { id = s.id, customerName = s.customer.name, productTypeName = s.productType.name });
int _oId = Convert.ToInt32(_orderId);
Repository<OrderCloth> _ra = new Repository<OrderCloth>();
IEnumerable<MyOrderCloth> _clothSelectListItem = _ra.All().Where(o => o.orderId == _oId).Select(s => new MyOrderCloth
{
workshopName = s.workshop.name,
workshopId = s.workshopId
});
List<SelectListItem> _workshopListItem = new List<SelectListItem>();
foreach (MyOrderCloth item in _clothSelectListItem)
{
_workshopListItem.Add(new SelectListItem
{
Text = item.workshopName,
Value = item.workshopId.ToString()
});
}
//ViewData["ddwList"] = _workshopListItem;
return Json(_workshopListItem, JsonRequestBehavior.AllowGet);
}
public ActionResult addAccessoryShipping()
{
如果(会话[“_userName”]==null)
{
返回重定向到操作(“索引”、“主页”);
}
HelperPartial\u helper=新的HelperPartial(
ViewData,
会话[“_userName]”。ToString(),
会话[“_userPermissionId”].ToString()
);
存储库_ro=新存储库();
IEnumerable\u orderSelectListItem=\u ro.All().AsEnumerable().Select(s=>new SelectListItem
{
Text=s.code,
Value=s.id.ToString()
}).OrderBy(o=>o.Text);
ViewData[“ddOrder”]=\u orderSelectListItem;
存储库_ra=新存储库();
IEnumerable\u clothSelectListItem=\u ra.All().AsEnumerable().Select(s=>new SelectListItem
{
Text=s.name,
Value=s.id.ToString()
}).OrderBy(o=>o.Text);
ViewData[“ddaList”]=\u clothSelectListItem;
返回视图();
}
[接受动词(HttpVerbs.Get)]
公共JsonResult loadWorkshops(字符串_orderId)
{
//IEnumerable\u myCustomerProductType=\u rc.All()。选择(s=>new myCustomerProductType{id=s.id,customerName=s.customer.name,productTypeName=s.productType.name});
int _oId=Convert.ToInt32(_orderId);
存储库_ra=新存储库();
IEnumerable\u clothSelectListItem=\u ra.All()。其中(o=>o.orderId==\u oId)。选择(s=>new myOrderCoth
{
workshopName=s.workshop.name,
workshopId=s.workshopId
});
列表_workshopListItem=新列表();
foreach(MyOrderClothSelectListItem中的其他项目)
{
_workshopListItem.Add(新建SelectListItem
{
Text=item.workshopName,
Value=item.workshopId.ToString()
});
}
//ViewData[“ddwList”]=\u workshopListItem;
返回Json(_workshopListItem,JsonRequestBehavior.AllowGet);
}
这是我的视图代码
@using (Html.BeginForm("AccessoryShipmentAdd", "Accessory", FormMethod.Post))
{
@Html.ValidationSummary(true)
<div class="control-group">
<label class="control-label">Sipariş No</label>
<div class="controls">
@Html.DropDownListFor(model=>model.orderId,(IEnumerable<SelectListItem>)ViewData["ddOrder"],"seçim yapınız",new {id="ddOrder", @class = "span6 chosen"})
</div>
@Html.ValidationMessageFor(model => model.orderId)
</div>
<div class="control-group">
<label class="control-label">Atölye Seçiniz</label>
<div class="controls">
@Html.DropDownListFor(model=>model.workshopId,new SelectList(Enumerable.Empty<SelectListItem>(),"workshopId","workshopName"),"seçim yapınız",new {@id="ddAcc" ,@class = "span6 chosen"})
</div>
@Html.ValidationMessageFor(model => model.workshopId)
</div>
<div class="control-group">
<label class="control-label">Aksesuar Seçiniz</label>
<div class="controls">
@Html.DropDownListFor(model=>model.accessoryListId,(IEnumerable<SelectListItem>)ViewData["ddaList"],"seçim yapınız",new { @class = "span6 chosen"})
</div>
@Html.ValidationMessageFor(model => model.accessoryListId)
</div>
@使用(Html.BeginForm(“AccessoryShipmentAdd”,“附件”,FormMethod.Post))
{
@Html.ValidationSummary(true)
西帕里诺
@Html.DropDownListFor(model=>model.orderId,(IEnumerable)ViewData[“ddOrder”],“seçim yapınız”,new{id=“ddOrder”,@class=“span6 selected”})
@Html.ValidationMessageFor(model=>model.orderId)
阿托利·塞西宁
@Html.DropDownListFor(model=>model.workshopId,new SelectList(Enumerable.Empty(),“workshopId”,“workshopName”),“seçim yapınız”,new{@id=“ddAcc”,@class=“span6 selected”})
@Html.ValidationMessageFor(model=>model.workshopId)
Aksesuar Seçinizing
@Html.DropDownListFor(model=>model.accessoryListId,(IEnumerable)ViewData[“ddaList”],“seçim yapınız”,new{@class=“span6 selected”})
@Html.ValidationMessageFor(model=>model.accessoryListId)
我可以从loadWorkshops类获取数据,但它不会返回到下拉列表。对此我能做些什么?尝试此操作(将选项中的“/>”更改为“>”:
$(“#ddOrder”).change(函数(){
var oID=$(this.val();
$.getJSON(“../Accessory/loadWorkshops”,{u orderId:oID},
函数(结果数据){
var selectACC=$(“#ddAcc”);
选择acc.empty();
选择ACC.append($(''){
值:0,
文本:'--Aksesuar seçinizing--'
}));
$.each(结果数据、函数(索引、项数据){
选择ACC.append($(''){
value:itemData.value,
text:itemData.text
}));
});
});
});
将控制器更新为类似以下内容:
//Place the fetching of data in private
private IList<MyOrderCloth> GetClothOrders(int _orderId)
{
Repository<OrderCloth> _ra = new Repository<OrderCloth>();
IList<MyOrderCloth> clothOrders = null;
clothOrders = _ra.MyOrderCloth.Where(o => o.orderId == _orderId).ToList();
return clothOrders;
}
//Accessed by Javascript
[AcceptVerbs(HttpVerbs.Get)]
public JsonResult loadWorkshops(string _orderId)
{
int id = 0;
if (!string.IsNullOrEmpty(_orderId))
{
id = Convert.ToInt32(_orderId);
}
var clothList = GetClothOrders(id);
var clothData = clothList.Select(a => new SelectListItem()
{
Text = a.workshopName.ToString(),
Value = a.workshopId.ToString(),
});
return Json(clothData, JsonRequestBehavior.AllowGet);
}
//将数据提取放在私有位置
私有IList GetClothOrders(int\u orderId)
{
存储库_ra=新存储库();
IList=null;
clothOrders=\u ra.myOrderCoth.Where(o=>o.orderId==\u orderId.ToList();
退回订单;
}
//通过Javascript访问
[接受动词(HttpVerbs.Get)]
公共JsonResult loadWorkshops(字符串_orderId)
{
int id=0;
如果(!string.IsNullOrEmpty(_orderId))
{
id=转换为32(_orderId);
}
var clothList=GetClothOrders(id);
var clothData=clothList.Select(a=>newselectListItem()
{
Text=a.workshopName.ToString(),
值=a.workshopId.ToString(),
});
返回Json(clothData,JsonRequestBehavior.AllowGet);
}
我会发疯的。我可以在控制器中看到数据,但我的下拉列表仍然是空的:)将您的下拉列表@id=“ddAcc”更改为id=“ddAcc”。Javascript无法找到您的下拉控件,这就是原因。
//Place the fetching of data in private
private IList<MyOrderCloth> GetClothOrders(int _orderId)
{
Repository<OrderCloth> _ra = new Repository<OrderCloth>();
IList<MyOrderCloth> clothOrders = null;
clothOrders = _ra.MyOrderCloth.Where(o => o.orderId == _orderId).ToList();
return clothOrders;
}
//Accessed by Javascript
[AcceptVerbs(HttpVerbs.Get)]
public JsonResult loadWorkshops(string _orderId)
{
int id = 0;
if (!string.IsNullOrEmpty(_orderId))
{
id = Convert.ToInt32(_orderId);
}
var clothList = GetClothOrders(id);
var clothData = clothList.Select(a => new SelectListItem()
{
Text = a.workshopName.ToString(),
Value = a.workshopId.ToString(),
});
return Json(clothData, JsonRequestBehavior.AllowGet);
}