我使用asp.net mvc 5.我想從視圖傳遞數組字符串到控制器而不使用Ajax。誰可以幫忙?Asp.net MVC,從視圖傳遞數組到控制器而不使用Ajax
這是控制器,值是在packagelist要得到[]
public ActionResult Create(Business business, string loc, string serv, string[] packagelist)
{
try
{
if (ModelState.IsValid)
{
var a = locationIds;
business.ServiceId = db.Services.Where(x => x.Title ==serv).Select(x => x.Id).SingleOrDefault();
business.LocationId = db.Locations.Where(x => (x.Title + " (" + x.State + "), " + x.PostalCode)==loc).Select(x => x.Id).SingleOrDefault();
db.Businesses.Add(business);
db.SaveChanges();
return RedirectToAction("Index");
}
else
{
foreach(var error in ModelState.Values)
{
foreach(var er in error.Errors)
ModelState.AddModelError("", er.Exception.ToString());
}
}
ViewData["Packages"] = db.BusinessPackages.Select(x => new SelectListItem
{
Text = x.Package,
});
return View(business);
}
catch(Exception ex)
{
ModelState.AddModelError("", ex);
return View(business);
}
}
已經創建對視圖
<input type="hidden" name="packagelist" id="packagelist" value="" />
然後通過將此功能設定這個隱藏字段的值的隱藏的輸入
$("#theform").submit(function (e) {
e.preventDefault();
var locdiv=$("#maindiv");
var locations = locdiv.children();
var loc = [];
for (var i = 0; i < locations.length; i++)
{
loc.push(locations.eq(i).text());
}
// SaveLocations(loc);
$("#packagelist").val(loc);
$("#theform").submit();
現在的主要問題是,當我通過jquery和s設置輸入值不要將它傳遞給控制器,控制器正在將數組的值視爲單個值。
發佈您的代碼。 – anand
使用表單提交將您的模型發佈到控制器操作。 –
我已經創建了一個但沒有弄清楚如何將值設置爲數組到這個 – Khan