Asp.net mvc 如何在asp.net mvc中使用razor检查查看页面中是否选中复选框?

Asp.net mvc 如何在asp.net mvc中使用razor检查查看页面中是否选中复选框?,asp.net-mvc,Asp.net Mvc,我是asp.net mvc的新手,为show me复选框组件编写以下代码: @Html.CheckBox("FlatFile",false) 我想写razor c#script来检查这个复选框是否被选中,然后做一些事情,我不想写javascript或任何东西,我只想为此目的编写c#razor脚本代码 我该如何写呢?您可以在控制器操作中使用FormCollection来检查这一点。 尝试使用以下代码: [HttpPost] public ActionResult

我是asp.net mvc的新手,为show me复选框组件编写以下代码:

@Html.CheckBox("FlatFile",false)
我想写razor c#script来检查这个复选框是否被选中,然后做一些事情,我不想写javascript或任何东西,我只想为此目的编写c#razor脚本代码


我该如何写呢?

您可以在控制器操作中使用FormCollection来检查这一点。 尝试使用以下代码:

        [HttpPost]
        public ActionResult Index(FormCollection frm)
        {
            bool MyBoolValue = Convert.ToBoolean(frm["FlatFile"].Split(',')[0]);
            return View();
        }
您的复选框代码:

@Html.CheckBox("FlatFile",false)
现在,您可以使用复选框名称(即FlatFile)在控制器中执行以下操作:

public ActionResult Something(IEnumerable<bool> FlatFile)
{
    if(FlatFile!= null) --you can give your condition here
    {
         --do something
    }
    else
    {
         --do something else
     }
}
这是我的视图代码(即test.cshtml):-

@使用(Html.BeginForm(“test”、“User”、FormMethod.Post、,
新的{enctype=“multipart/form data”})
{
@Html.AntiForgeryToken()
测试复选框
@Html.Label(“选择”):
@复选框(“FlatFile”,false)
@查看包。留言
}

没有js,你就做不到。实现此功能的另一种方法是使用此输入复选框将表单发布到控制器。谢谢,但当单击查看页面中的复选框时,某些操作不会运行。我刚刚添加了一个示例以提供帮助。如果是foreach循环呢?例如,HTML中的复选框是HTML.checkbox(item.Name,false),而在controller中,我们需要检查它是否被选中?
public ActionResult test()
    {
        return View();
    }

    [HttpPost]
    public ActionResult test(bool FlatFile)
    {
        if(FlatFile==true)
        {
            ViewBag.Message = "Selected";
            return View();
        }
        else (FlatFile == false)
        {
            ViewBag.Message="Not selected";
            return View();
        }            
    }
@using (Html.BeginForm("test", "User", FormMethod.Post,
new { enctype = "multipart/form-data" }))
{
@Html.AntiForgeryToken()

<fieldset>
    <legend>Test CheckBox</legend>

   <table>
        <tr>
            <td>@Html.Label("Select"):</td>
            <td>@Html.CheckBox("FlatFile", false)</td>
        </tr>
        <tr>
            <td colspan="2"><input type="submit" value="Check" /></td>
        </tr>
        <tr>
            <td>@ViewBag.Message</td>
        </tr>
    </table>
</fieldset>
}