加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何使ASP.Net MVC中的复选框列表

发布时间:2020-12-15 06:55:58 所属栏目:百科 来源:网络整理
导读:我有一个带有复选框列表的表单.用户可以选择所有值,无值,或两者之间的任何值.例: 我想将结果以逗号分隔的列表形式写入数据库.在上面的例子中,“苹果香蕉”.我有点困惑如何为此创建模型,以及如何将视图中的结果控制器转换为逗号分隔列表? 解决方法 这是一个
我有一个带有复选框列表的表单.用户可以选择所有值,无值,或两者之间的任何值.例:

我想将结果以逗号分隔的列表形式写入数据库.在上面的例子中,“苹果香蕉”.我有点困惑如何为此创建模型,以及如何将视图中的结果控制器转换为逗号分隔列表?

解决方法

这是一个如何做到这一点的例子.

HomeModel.cs

public class HomeModel
{
    public IList<string> SelectedFruits { get; set; }
    public IList<SelectListItem> AvailableFruits { get; set; }

    public HomeModel()
    {
        SelectedFruits = new List<string>();
        AvailableFruits = new List<SelectListItem>();
    }
}

HomeController.cs

public class HomeController : Controller
{
    public ActionResult Index()
    {
        var model = new HomeModel
        {
            AvailableFruits = GetFruits()
        };
        return View(model);
    }

    [HttpPost]
    public ActionResult Index(HomeModel model)
    {
        if (ModelState.IsValid)
        {
            var fruits = string.Join(",",model.SelectedFruits);

            // Save data to database,and redirect to Success page.

            return RedirectToAction("Success");
        }
        model.AvailableFruits = GetFruits();
        return View(model);
    }

    public ActionResult Success()
    {
        return View();
    }

    private IList<SelectListItem> GetFruits()
    {
        return new List<SelectListItem>
        {
            new SelectListItem {Text = "Apple",Value = "Apple"},new SelectListItem {Text = "Pear",Value = "Pear"},new SelectListItem {Text = "Banana",Value = "Banana"},new SelectListItem {Text = "Orange",Value = "Orange"},};
    }
}

Index.cshtml

@model DemoMvc.Models.HomeModel
@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
</head>
<body>
    <div class="container">
        @using (Html.BeginForm("Index","Home"))
        {
            foreach (var item in Model.AvailableFruits)
            {
                <div class="checkbox">
                    <label>
                        <input type="checkbox"
                               name="SelectedFruits"
                               value="@item.Value" /> @item.Text
                        </label>
                    </div>
            }
            <div class="form-group text-center">
                <input type="submit" class="btn btn-primary" value="Submit" />
            </div>
        }
    </div>
</body>
</html>

哪些应该在邮政行动中导致以下内容:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读