2016-02-19 79 views
-1

我使用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設置輸入值不要將它傳遞給控制器​​,控制器正在將數組的值視爲單個值。

+0

發佈您的代碼。 – anand

+0

使用表單提交將您的模型發佈到控制器操作。 –

+0

我已經創建了一個但沒有弄清楚如何將值設置爲數組到這個 – Khan

回答

0

我認爲你可以使用cookies。

在JS中, document.cookie =「CookiesName =」+ value +「;」+「365; path = /」;

在控制器, VAR數據= Request.Cookies時[ 「CookiesName」]

0

要接收的陣列如在控制器PARAM,您的輸入需要特定命名

<input type="hidden" name="packagelist[0]" id="packagelist_0_" value="" /> 
<input type="hidden" name="packagelist[1]" id="packagelist_1_" value="" /> 
<input type="hidden" name="packagelist[2]" id="packagelist_2_" value="" /> 
... 
<input type="hidden" name="packagelist[x]" id="packagelist_x_" value="" /> 
相關問題