ASP.NET MVC多选菜单

6za6bjd0  于 11个月前  发布在  .NET
关注(0)|答案(3)|浏览(110)

我使用下面的代码让用户在表单上选择多个位置。

@Html.DropDownListFor(m => m.location_code, Model.location_type, new { @class = "form-control", @multiple = "multiple" }).

字符串
location_code是List<int>,location_type是List<SelectListItem>,填充有数据。
该代码确实返回了控制器中的选定值,但当用户单击编辑按钮时,传递的对象不会显示选定值,而是显示未选定的正常初始化对象。
我实际上想要的是,一旦用户提交的形式(包括多个选定的值)它去一个页面,用户确认,如果细节是正确的。如果不是,他按下编辑按钮,对象再次传递到控制器。在这个阶段,它应该显示多个选定的值。其他字段行为正常。
对此有何见解?

nnvyjq4y

nnvyjq4y1#

在你看来:

@Html.ListBoxFor(m => m.location_code, Model.location_type)

字符串
这就是你所需要的。你正在使用一个ListBox控件,所以它已经是一个多选择列表。
然后回到你的控制器中,你可以像这样获得所选的项目:

[HttpPost]
public string SaveResults(List<int> location_code)
{

    if (location_code!= null)
    {
        return string.Join(",", location_code);
    }
    else
    {
        return "No values are selected";
    }
}

idv4meu8

idv4meu82#

我假设你已经知道一般的MVC的东西,所以记住:
首先获取这个库并设置它:https://select2.org/getting-started/basic-usage
在你看来,你可以用这个

@Html.DropDownListFor(model => model.DistrictId, new SelectList(new List<object>(), "Id ", "Description"), "Select District", htmlAttributes: new
                                {
                                    @class = "js-example-placeholder-multiple col-sm-12 form-select form-control",
                                    @multiple="multiple",
                                    id = "DistrictDropDownList"
                                })

字符串
然后,您可以为上面的控件中使用的model.DistrictId添加属性viewmodel,作为字符串的List,如下所示

public class Places
{
   //Other ViewModel properties
    public List<string> DistrictId {get;set;}
   
}


当您将ViewModel提交回控制器时,您将拥有多个选定Id作为字符串列表。

vom3gejh

vom3gejh3#

在ASP.Net MVC和C#.Net中使用jQuery的多选下拉列表:

首先我们将创建一个新的mvc应用程序,并在model文件夹中添加一个model类文件。在这个model类文件中添加下面的代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace MvcApplication1.Models
{
    public class CountryModel
    {
        public List<Country> CountryList { get; set; }
        public string SelectedCountryId { get; set; }
    }
    public class Country
    {
        public string CountryName { get; set; }
    }
}

字符串
现在添加一个控制器类文件并添加下面的代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MvcApplication1.Models;

namespace MvcApplication1.Controllers
{
    public class HomeController : Controller
    {
        //
        // GET: /Home/

        public ActionResult Index()
        {
            CountryModel objcountrymodel = new CountryModel();
            objcountrymodel.CountryList = new List<Country>();
            objcountrymodel.CountryList = CountryDate();
            return View(objcountrymodel);
        }
        public List<Country> CountryDate()
        {
            List<Country> objcountry = new List<Country>();
            objcountry.Add(new Country { CountryName = "America" });
            objcountry.Add(new Country { CountryName = "India" });
            objcountry.Add(new Country { CountryName = "Sri Lanka" });
            objcountry.Add(new Country { CountryName = "China" });
            objcountry.Add(new Country { CountryName = "Pakistan" });
            return objcountry;
        }
    }
}


在上面的代码中,我已经创建了一个国家的集合。这个列表我们将与列表绑定。现在创建视图,并将下面的代码添加到视图中。

@model MvcApplication1.Models.CountryModel          
@{
    ViewBag.Title = "MultiSelect DropdownList Using jQuery in Asp.Net MVC and C#.Net";
}
 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script src="../../Scripts/jquery.sumoselect.js" type="text/javascript"></script>
<link href="../../Css/dropdownliststyle.css" rel="stylesheet" type="text/css" />
 <script type="text/javascript">
     $(document).ready(function () {
         window.asd = $('.ddlMultiSlectBox).SumoSelect({ csvDispCount: 4 });
     });
    </script>
Country:
@Html.DropDownListFor(m => m.SelectedCountryId, new SelectList(Model.CountryList, "CountryName", "CountryName"), new {@multiple="multiple",@placeholder="Please select country", @class="ddlMultiSlectBox" })


在这段代码中,我添加了css和jQuery库引用,并使用sumoselect函数来显示多选列表。
现在我们已经运行了应用程序来检查输出。


的数据

相关问题