Search code examples
c#model-view-controller

maintain the selected options and checkboxes after submit


I have checkboxes and select options inside a form.

 <label>
            <input type="checkbox" name="checkedBoxes" value="Reseller"checked />
            <span>Reseller</span>
        </label>


        <label>
            <input type="checkbox" name="checkedBoxes" value="SI" checked/>
            <span>SI</span>
        </label> //selects
...

Checkboxes are displayed as checked. This is what my controller looks like:

 public IActionResult combinedForm(string[] checkedBoxes, string SelectOption, string SelectOptionComp, string SelectOptionSer, string SelectOptionSoft, string SelectOptionApp)
        { //viewModel=...

          var deneme = viewModel.Where(x =>x.Companies.company_type.Contains(checkedBoxes[0]));
        }

How can I keep the state of checkboxes, preferably with the selected select options on view when I clicked the submit button?


Solution

  • Used viewbags for both

     @if (((string[])ViewBag.checkedBoxes).Contains("Component provider"))
            {
                 <label>
                <input type="checkbox" name="checkedBoxes" value="Component provider" checked  />
                <span>Component provider&nbsp;</span>
            </label>
            }
            else if (!((string[])ViewBag.checkedBoxes).Contains("Component provider"))
            {
                <label>
                    <input type="checkbox" name="checkedBoxes" value="Component provider" />
                    <span>Component provider&nbsp;</span>
                </label>
            }
    

    <select style="width:100px" id="SelectOption" name="SelectOption" value="a">
               
                <option>@Html.Label("-",(string)ViewBag.Name,new {@class = "mylabel" })</option>