Флажок всегда возвращает ложный MVC5 - PullRequest
0 голосов
/ 09 октября 2018

Я использую флажки и переключатели в своих формах, я могу получить все значения, кроме флажков, всегда возвращает False.

Код моей модели

public bool Gender { get; set; }  //checkbox

        public bool MStatus { get; set; }  //radio button
 public void Astudent(Student stu)
    {
        try
        {
            NpgsqlConnection con = new NpgsqlConnection(ConfigurationManager.ConnectionStrings["npg"].ConnectionString);
            string stat = "";
            if(stu.MStatus==true)
            {
                stat = "M";
            }
            else
            {
                stat = "S";
            }
            string gnd = "";
            if (stu.Gender == true)
            {
                gnd = "M";
            }
            else
            {
                gnd = "F";
            }
            StringBuilder qry = new StringBuilder();
            qry.Append("select * from fldata(");
            qry.Append("(ARRAY[");
            qry.Append("'(");
            qry.Append(stu.Id);
            qry.Append(",");
            qry.Append(stu.FName);
            qry.Append(",");
            qry.Append(stu.LName);
            qry.Append(",");
            qry.Append(stu.UName);
            qry.Append(",");
            qry.Append(stu.Email);
            qry.Append(",");
            qry.Append(gnd);
            qry.Append(",");
            qry.Append(stat);
            qry.Append(",");
            qry.Append(stu.Department);
            qry.Append(")'])::ful[]");
            qry.Append(")");
            con.Open();
            NpgsqlCommand cmd = new NpgsqlCommand(qry.ToString(), con);
            cmd.ExecuteNonQuery();
            con.Close();
        }
        catch(Exception ex)
        {
             ex.ToString();
        }

    }

Код моего контроллера

  public ActionResult Complex() // Add New EE / Student
    {


        return View();
    }


    [HttpPost]
    public ActionResult Complex(Student stu) // Add New EE / Student
    {
        Student empadd = new Student();
        empadd.Astudent(stu);
        return RedirectToAction("ComplexView");

    }

Код моего просмотра

    @model postgre.Models.Student
@{
    ViewBag.Title = "Complex";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<h2>AddEmployee</h2>



<section class="panel-body">
    @Html.ValidationSummary()
</section>
@using (Html.BeginForm())
{

    <p>
        First Name:
        @Html.TextBoxFor(model => model.FName, new { @class = "form-control" })
    </p>
    <p>
        Last Name:
        @Html.TextBoxFor(model => model.LName, new { @class = "form-control" })
    </p>
    <p>
        User Name:
        @Html.TextBoxFor(model => model.UName, new { @class = "form-control" })
    </p>
    <p>
        Email:
        @Html.TextBoxFor(model => model.Email, new { @class = "form-control" })
    </p>
    <p>
        Gender:<br /> 
        @Html.CheckBoxFor(Model => Model.Gender, new { @class = "form-check-input", @name = "gender", @value = "M", @checked = true }) &nbsp;Male&nbsp;
        @Html.CheckBoxFor(Model => Model.Gender, new { @class = "form-check-input", @name = "gender", @value = "F",})&nbsp;Female&nbsp;
    </p>
    <p>
        Marital Status:<br />   
        @Html.RadioButtonFor(Model => Model.MStatus, new { @class = "form-check-input", @name = "mstat", @value = "S" })&nbsp;Single&nbsp;
        @Html.RadioButtonFor(Model => Model.MStatus, new { @class = "form-check-input", @name = "mstat", @value = "M", @select = true })&nbsp;Married&nbsp;
    </p>
    <p>
        @Html.DropDownListFor(Model => Model.Department,
                      new SelectListItem[]{
                      new SelectListItem() {Text = "Select Your Department", Value=""},
                      new SelectListItem() {Text = "IT", Value="IT"},
                      new SelectListItem() {Text = "Management", Value="Management"},
                      new SelectListItem() {Text = "Commerce", Value="Commerce"}}, new {@class="form-control" })
    </p>
    <p><input type="submit" name="add" value="Add Employee" class="btn btn-primary" /></p>

}

Я пробовал много способов, таких как @checked="checked" или @Checked=true, но он не работает, когда я отправляю свои формы, он возвращает False,Как я новичок в MVC и Razor, поэтому не могу его получить.Любая помощь будет оценена.

1 Ответ

0 голосов
/ 09 октября 2018

Я только что обновил флажок «Просмотр» и код переключателя, теперь он работает нормально.

Для людей, имеющих ту же проблему, пожалуйста, просмотрите код, надеюсь, он им поможет.

 <p>
    Gender:<br /> 
    @Html.CheckBoxFor(Model => Model.Gender, new { @class = "form-check-input"}) &nbsp;Male&nbsp;
    @Html.CheckBoxFor(Model => Model.Gender, new { @class = "form-check-input"})&nbsp;Female&nbsp;
</p>
<p>
    Marital Status:<br />   
    @Html.RadioButtonFor(Model => Model.MStatus,true, new { @class = "form-check-input"})&nbsp;Single&nbsp;
    @Html.RadioButtonFor(Model => Model.MStatus,false, new { @class = "form-check-input" })&nbsp;Married&nbsp;
</p>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...