如何在asp.net mvc中使用razor查看是否在视图页中选中了复选框?

时间:2016-10-26 07:34:31

标签: asp.net-mvc

我是asp.net mvc中的新用户,并为show me复选框组件编写此剃须刀代码:

@Html.CheckBox("FlatFile",false)

我想写razor c#script来检查是否选中了复选框然后工作了一些东西,我不想写javascript或任何东西,我只想为此目的编写c#razor脚本代码。

我该怎么写呢?

2 个答案:

答案 0 :(得分:1)

您的复选框代码:

@Html.CheckBox("FlatFile",false)

现在您可以使用CheckBox名称(即FlatFile)在控制器中执行以下操作:

public ActionResult Something(IEnumerable<bool> FlatFile)
{
    if(FlatFile!= null) --you can give your condition here
    {
         --do something
    }
    else
    {
         --do something else
     }
}

示例示例: -

这是我的控制器代码: -

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();
        }            
    }

这是我的观察代码(即test.cshtml): -

@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>
}

答案 1 :(得分:0)

您可以在控制器操作中使用FormCollection进行检查。 尝试使用以下代码:

        [HttpPost]
        public ActionResult Index(FormCollection frm)
        {
            bool MyBoolValue = Convert.ToBoolean(frm["FlatFile"].Split(',')[0]);
            return View();
        }