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

我正在创建一个网络程序,该程序根据用户通过选中/取消选中复选框选择的参数生成随机密码。我现在无法将用户的选择作为其中一个功能的参数传递给控制器。无论用户是否选中该框,我总是得到一个 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");


        }


最后一个例子:如果用户点击字母复选框,布尔字母将保持假而不是变为真。

我希望用户的选择被转移到控制器,但无论他们是否选中复选框,正在发生的事情都是错误的。这是网络程序的样子


紫衣仙女
浏览 42回答 1
1回答

慕的地10843

更改value="true"所有复选框,例如&nbsp;<input type="checkbox" value="true" name="numbers" id="inumbers" />如下更新 tr<tr>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <td class="Spacing">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <input type="checkbox" value="true" name="letters" id="iletters" />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <label for="letters">Letters</label>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </td>&nbsp; &nbsp; &nbsp; &nbsp; </tr>&nbsp; &nbsp; &nbsp; &nbsp; <tr>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <td class="Spacing">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <input type="checkbox" value="true" name="numbers" id="inumbers" />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <label for="numbers">Numbers</label>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </td>&nbsp; &nbsp; &nbsp; &nbsp; </tr>&nbsp; &nbsp; &nbsp; &nbsp; <tr>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <td class="Spacing">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <input type="checkbox" value="true" name="symbols" id="isymbols" />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <label for="symbols">Symbols</label>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </td>&nbsp; &nbsp; &nbsp; &nbsp; </tr>&nbsp; &nbsp; &nbsp; &nbsp; <tr>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <td class="Spacing">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <input type="checkbox" value="true" name="words" id="iwords" />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <label for="words">Words</label>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </td>&nbsp; &nbsp; &nbsp; &nbsp; </tr>&nbsp; &nbsp; &nbsp; &nbsp; <tr>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <td class="Spacing">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <input type="checkbox" value="true" name="creative" id="icreative" />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <label for="creative">Add my creative touch</label>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </td>&nbsp; &nbsp; &nbsp; &nbsp; </tr>
打开App,查看更多内容
随时随地看视频慕课网APP