【问题标题】:Proper use of c# razor Checkbox with Model in WebApp在 WebApp 中正确使用带有模型的 c# razor Checkbox
【发布时间】:2016-02-11 03:15:47
【问题描述】:

在我的 c# WebApp 中创建运行良好的复选框时遇到问题。 有人可以向我展示一个带有模型的工作版本以及视图和控制器的外观。

型号:

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

namespace TEST.Models
{
    public class Checkbox
    {
        public bool IsChecked { get; set; }
    }
}

查看:

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>

@using (Html.BeginForm())
{
    @Html.CheckBox()
}

控制器:

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

namespace TEST.Controllers
{
    public class HomeController : Controller
    {
        // GET: Home
        public ActionResult Index()
        {
            return View();
        }
    }
}

【问题讨论】:

  • 显示你的代码并指出什么不工作
  • @Html.CheckBox("check", true, new {id = dir }),这就是我现在正在尝试的,没有模型
  • 您需要一个具有boolean 属性的模型——比如bool IsSelected,然后在视图中使用@Html.CheckBoxFor(m =&gt; m.IsSelected),当您发布表单时,IsSelected 的值将是@ 987654328@ of false 基于复选框的选中状态
  • 我尝试联系我的控制器并遇到问题。我必须给他什么参数?例如:public AvtionResult IsChecked (???) { if (??? = true) { } }
  • 显示您的代码。我们不是通灵者。

标签: c# model-view-controller checkbox web-applications


【解决方案1】:

这是它的工作原理。

型号:

namespace TEST.Models
{
    public class Checkbox
    {
        public bool IsChecked { get; set; }
    }
}

控制器:

public class HomeController : Controller
{
    // GET: Home
    public ActionResult Index()
    {
        return View();
    }

    [HttpPost]
    public ActionResult Index(Checkbox model)
    {
        // work with model.IsChecked
    }
}

查看:

@model TEST.Models.Checkbox 
@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>

@using (Html.BeginForm("Index", "Home", FormMethod.Post))
{
    @Html.CheckBoxFor(m => m.IsChecked)
}

【讨论】:

  • 我总是在视图的第一行得到一个错误。 @model Checkbox 被标记为错误。找不到类型或命名空间“复选框”。意外使用未绑定的通用名称。你知道如何解决这个问题吗?
  • 是的。更改为 @model TEST.Models.Checkbox - 只需添加类的完整命名空间名称。编辑了我的帖子。
  • @IlbienP “找不到类型或命名空间'Checkbox'。意外使用了未绑定的通用名称” - 您的应用程序中有通用 Checkbox 类型吗?您是否在 @model 声明中使用了完整的命名空间?
  • 它给了他“通用”错误,因为视图是通用 C# 类并且找不到模型。使用完整的命名空间,它应该可以正常工作。
猜你喜欢
  • 1970-01-01
  • 2011-08-06
  • 1970-01-01
  • 2014-08-22
  • 2020-04-27
  • 1970-01-01
  • 2018-12-16
  • 2017-01-28
  • 1970-01-01
相关资源
最近更新 更多