ASP.NET MVC C # - передать динамический параметр, используя URL ACTION - PullRequest
0 голосов
/ 15 мая 2018

Как я могу передать значение моего текстового поля "R_endDate" из моего ПРОСМОТРА в функцию контроллера ExportToExcel, используя Url.Action?

На мой взгляд: Index.cshtml

У меня есть это текстовое поле со значением даты.

<div class="uk-form-row">
    <label class="uk-form-label" for="R_endDate">Ending Date:</label>
    <div class="uk-form-controls">
        @Html.TextBoxFor(m => m.R_endDate, new { @class = "uk-form-small uk-text-left required", @maxlength = 12, @data_uk_datepicker = "{format: 'MM/DD/YYYY'}" })

    </div>
</div>

У меня есть этот тег привязки с действием URL.

<a href="@Url.Action("ExportToExcel")" class="uk-button uk-button-small uk-text-center uk-text-small ">Export</a>

На моем контроллере: MISReportController.cs

 public FileContentResult ExportToExcel()
    {
    byte[] filecontent = ExcelExportHelper.ExportExcel(list, "Technology", true, strAddtional);
    return File(filecontent, ExcelExportHelper.ExcelContentType, strTitle);

    }

мои сценарии

Error1

Ответы [ 2 ]

0 голосов
/ 15 мая 2018

попробуйте использовать html helper beginform ()

в index.cshtml

   @using (Html.BeginForm("ExportToExcel", "MISReport")) {<div class="uk-form-row">
<label class="uk-form-label" for="R_endDate">Ending Date:</label>
<div class="uk-form-controls">
    @Html.TextBoxFor(m => m.R_endDate, new { @class = "uk-form-small uk-text-left required", @maxlength = 12, @data_uk_datepicker = "{format: 'MM/DD/YYYY'},@name="date" })</div></div>}

в контроллере

      [HttpPost]public FileContentResult ExportToExcel(Datetime date){ .......

}
0 голосов
/ 15 мая 2018

Вы можете легко справиться с этим, используя javascript / jquery.

UI:

<a id="aExportToExcel" href="#" class="uk-button uk-button-small uk-text-center uk-text-small ">Export</a>

Сценарий:

<script type="text/javascript">

$(document).ready(function () {
    $("#aExportToExcel").click(function () {
        var param = $("input[name='R_endDate']").val();
        var _url = '@Url.Action("ExportToExcel", "MISReportController", new { param = "XXX" })'; // Param is the example parameter name. Change as needed.
        _url = _url.replace("XXX", param); // _url will contain your url string so you can just play with it as needed for your requirement.

        window.open(_url, "_blank");
    });
});

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