为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 ASP.NET MVC 将选中的复选框作为控制器函数中的参数传递

如何使用 ASP.NET MVC 将选中的复选框作为控制器函数中的参数传递

C#
紫衣仙女 2022-11-21 20:34:26
我正在创建一个网络程序,该程序根据用户通过选中/取消选中复选框选择的参数生成随机密码。我现在无法将用户的选择作为其中一个功能的参数传递给控制器。无论用户是否选中该框,我总是得到一个 false,看看我如何使用默认值为 false 的可选参数,以防用户没有选中所有框。我已经设置了复选框的名称,并且在我调用的函数的参数中使用了这些名称。然而,无论用户是否选中复选框,这仍然让我误会这是我的代码的 cshtml 部分 @using (Html.BeginForm("PasswordGenerator", "Generator", FormMethod.Post))        {                <table class="TablePre">                    <tr class="TableTop">                        <th>Preferences</th>                    </tr>                    <tr >                        <td class="Spacing">                            <input type="checkbox" value="letters" name="letters" id="iletters"/>                            <label for="letters">Letters</label>                        </td >                    </tr>                    <tr >                        <td class="Spacing">                            <input type="checkbox" value="numbers" name="numbers" id="inumbers" />                            <label for="numbers">Numbers</label>                        </td>                    </tr>                    <tr >                        <td class="Spacing">                            <input type="checkbox" value="symbols" name="symbols" id="isymbols" />                            <label for="symbols">Symbols</label>                        </td>                    </tr>这是代码的 c# 部分        public ActionResult PasswordGenerator(bool letters = false , bool numbers = false, bool symbols = false, bool words = false, bool creative = false, int PLChoice = 0)        {            return View("Index");        }最后一个例子:如果用户点击字母复选框,布尔字母将保持假而不是变为真。我希望用户的选择被转移到控制器,但无论他们是否选中复选框,正在发生的事情都是错误的。这是网络程序的样子
查看完整描述

1 回答

?
慕的地10843

TA贡献1785条经验 获得超8个赞

更改value="true"所有复选框,例如


 <input type="checkbox" value="true" name="numbers" id="inumbers" />

如下更新 tr


<tr>

            <td class="Spacing">

                <input type="checkbox" value="true" name="letters" id="iletters" />

                <label for="letters">Letters</label>

            </td>

        </tr>


        <tr>

            <td class="Spacing">

                <input type="checkbox" value="true" name="numbers" id="inumbers" />

                <label for="numbers">Numbers</label>

            </td>

        </tr>


        <tr>

            <td class="Spacing">

                <input type="checkbox" value="true" name="symbols" id="isymbols" />

                <label for="symbols">Symbols</label>

            </td>

        </tr>


        <tr>

            <td class="Spacing">

                <input type="checkbox" value="true" name="words" id="iwords" />

                <label for="words">Words</label>

            </td>

        </tr>


        <tr>

            <td class="Spacing">

                <input type="checkbox" value="true" name="creative" id="icreative" />

                <label for="creative">Add my creative touch</label>

            </td>

        </tr>



查看完整回答
反对 回复 2022-11-21
  • 1 回答
  • 0 关注
  • 41 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信