флажок показывать нулевое значение не передать контроллеру mvc - PullRequest
0 голосов
/ 29 ноября 2018

Я хочу передать значение параметра, но когда я нажимаю, ошибка загрузки показывает AllDates показывает нулевое значение.Allstate - это флажок, если check извлекает все данные, если не проверяет, затем ставит date from и Date to затем выбирает значение.Но все значения даты не передаются контроллеру и показывают нулевое значение.Любой эксперт говорит мне, где я ошибаюсь.

Я делюсь ошибкой:

Словарь параметров содержит пустую запись для параметра 'AllDates' ненулевого типа 'System.Boolean'для метода' System.Web.Mvc.ActionResult Index (Int32, Boolean, System.String, System.String) 'в' Lead_Management_System.Controllers.ReportController '.Необязательный параметр должен быть ссылочным типом, обнуляемым типом или быть объявлен как необязательный параметр.Имя параметра: параметры

HTML

     @using (Html.BeginForm("Index", "Report"))
              {
               <div class="form-control">

               Agent  @Html.DropDownListFor(m => m.agentid, Model.SaleAgentList, new { id = "lblAgent" })


               <div id="lblDate">
                <br />
                Followup Date <br /><br />
                From:  <input type="date" name="cmbSDate" id="cmbSDate" readonly="readonly" />
     To:  <input type="date" name="cmbTDate"  id="cmbTDate" readonly="readonly" />
 Select All : <input type="checkbox" name="AllData" id="AllData" onclick="mcheck()" checked /> <br /> <br />

            </div>

          <input type="submit" value="Download" />

           </div>
           }

Javascript

<script type="text/javascript">
    function mcheck() {
        if ($('#AllData').not(':checked').length) {
            document.getElementById("cmbSDate").readOnly = false;
            document.getElementById("cmbTDate").readOnly = false;
            $("#AllData").attr('checked', false);

        }
        else {
            document.getElementById("cmbSDate").readOnly = true;
            document.getElementById("cmbTDate").readOnly = true;
            $("#AllData").attr('checked', true);
        }
    }
</script>

Контроллер

 public ActionResult Index(int AgentID, bool AllDates, string DateFrom, string DateTo)
        {
            SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["Real"].ToString());
            SqlCommand cmd = new SqlCommand("SP_rptAgentStatus", cn);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@AgentID", AgentID);
            cmd.Parameters.AddWithValue("@AllDates", AllDates);
            cmd.Parameters.AddWithValue("@DateFrom", DateFrom);
            cmd.Parameters.AddWithValue("@DateTo", DateTo);
            DataTable dt = new DataTable();
            SqlDataAdapter sda = new SqlDataAdapter(cmd);
            sda.Fill(dt);

            lstatus mls = new lstatus();

            Reports.rptAgentStatus rpt = new Reports.rptAgentStatus();
            rpt.SetDatabaseLogon("sa", "");
            rpt.SetDataSource(dt);
            rpt.SetParameterValue(0, "SUKH CHAYN RESIDENCE");
            rpt.SetParameterValue(1, "Agent Status "+ DateTime.Parse(DateFrom).ToShortDateString() + DateTime.Parse(DateTo).ToShortDateString());
            rpt.SetParameterValue(2, AgentID);
            rpt.SetParameterValue(3, DateFrom);
            rpt.SetParameterValue(4, DateTo);

            Response.Buffer = false;
            Response.ClearContent();
            Response.ClearHeaders();


            Stream str = rpt.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);
            str.Seek(0, SeekOrigin.Begin);
            return File(str, "application/pdf", "rptAgentStatus.pdf");



        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...