Asp.net MVC,无需使用Ajax,即可将数组从视图传递到控制器

可汗

我正在使用asp.net mvc5。我想在不使用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设置输入的值并将其提交给控制器时,控制器将值的数组视为单个值。

苏宁

我认为您可以使用Cookie。

在JS中,document.cookie =“ CookiesName =” + value +“;” +“ 365; path = /”;

在Controller中,变量数据= Request.Cookies [“ CookiesName”]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用ASP.NET MVC将表对象从视图传递到控制器

从视图调用控制器并将值从视图传递到 asp.net mvc 中的控制器

ASP.Net MVC如何将数据从视图传递到控制器

在 asp.net mvc 中将数据从视图传递到控制器失败

ASP.NET MVC - 将动态 ExpandoObject 从控制器传递到视图时出现 RuntimeBinderException

将整个对象从视图传递到ASP.NET MVC 5中的控制器

无法将数据从视图传递到控制器 ASP.NET MVC 5

从视图到控制器的 Ajax 请求正文在 ASP NET Core MVC 3 中为空

将多个参数从Ajax Post传递到ASP.NET MVC控制器

asp.net 如何使用按钮将数据从视图传递到控制器

ASP.NET-MVC 4使用从控制器到视图的变量

使用asp.net mvc将DropDownList中的SelectedValue从View Razor传递到控制器

ASP.NET MVC使用Ajax将整个模型传递给控制器

如何使用 Jquery 和 ajax 将 id 传递给 MVC 控制器 [ASP.NET]

将空列表从控制器传递到控制器ASP.NET MVC

如何使用AJAX将数据发布到ASP.NET MVC控制器?

使用ajax从文本框发送数据到asp.net MVC 5控制器

ASP.NET Core MVC - 数据不会在发布请求中从视图传递到控制器

如何将ID从剃刀视图传递到ASP .Net MVC中控制器的操作方法?

将由javascript创建的控件列表的值从视图传递到asp.net mvc3中的控制器

如何将隐藏字段值从视图传递到控制器ASP.NET MVC 5

如何将值从视图传递到MVC ASP .NET中的另一个控制器

ASP.Net MVC 将数据从视图传递到不同文件夹中的控制器

Asp.Net MVC5-通过jqGrid将嵌套模型从视图传递到控制器

使用ASP.NET Core和Jquery将对象从Ajax请求绑定到ASP MVC控制器

如何使用asp.net将对象从控制器传递到视图(电机aspx不是剃须刀)

ASP.NET:将消息从控制器传递到视图(ViewBag、ViewData 或 TempData)

将数据从视图传递到控制器ASP.NET核心剃须刀页面

Asp.Net Core:如何正确地将数据从视图传递到控制器?