ASP.NET MVC C#:HiddenFor 到控制器

问题描述 投票:0回答:1

我有以下标记和代码。

查看:

@model WealthRef.Models.ViewModels

<td style="width: 100px;color:black" id="tdfromDatevalue">
if (Model != null)
{
    @Html.DropDownListFor(model => Model.DropDownModels.FromDateModels.SelectedNode,
        new SelectList(Model.DropDownModels.FromDateModels.FromDateValues, 
                       "Code", "CodeDescription"),
        new { id = "ddlFromDateValues", 
              @class = "chosen-select",
              data_placeholder = "Select Date...", 
              style = "white-space:nowrap;width:100px;" })
    @Html.HiddenFor(model => Model.FromDate, new { id = "hdnFromDate" })
}
</td>

<script type="text/javascript" language="javascript">
$("#ddlFromDateValues").on("change", function () {
    var fromDate = $(this).val();
    $("#ddlFromDateValues").val(fromDate).trigger("chosen:updated");
    $("#hdnFromDate").val(fromDate);
});
</script>
<td>
    <a class="btn" href="@Url.Action("ExportToExcel", "WealthRef")" id="btnRun"
       style="color:White" onclick="return Validate();">Run</a>
</td>
<script>
$(document).ready(function () {
    load();
});

function load() {
    $("#hdnFromDate").val($("#ddlFromDateValues").find("option:selected").val());
}
</script>

型号:

namespace WealthRef.Models
{
    public class ViewModels
    {
        public string FromDate { get; set; }
    }
}

控制器:

[AcceptVerbs(HttpVerbs.Get)]
public ActionResult ExportToExcel(ViewModels model)
{
    string FromDate = model.FromDate;
}

我期望从隐藏字段中获取

FromDate
,该字段来自于
@Html.DropDownListFor
中选定的项目,但我得到了空。

请帮忙!

谢谢!

c# asp.net-mvc html.dropdownlistfor strongly-typed-view html.hiddenfor
1个回答
0
投票

以下代码有效。

查看:

<td style="width:80px; color:black; padding-right: 20px; " id="tdfromDatevalue">
    @if (Model != null)
    {
        @Html.DropDownListFor(model => Model.DropDownModels.FromDateModels.SelectedNode, new SelectList(Model.DropDownModels.FromDateModels.FromDateValues, "Code", "CodeDescription"), new { id = "ddlFromDateValues", @class = "chosen-select", data_placeholder = "Select Date...", style = "white-space:nowrap;width:100px;" })
    }
</td>
<td>
    <form action="@Url.Action("ExportToExcel", "WealthRef")" method="post">
        @Html.HiddenFor(model => Model.GenericModels.fromDate, new { id = "hdnFromDate" })
        <input type="submit" value="Run" class="btn" style="color:White; font-size:13px; padding:6px 24px;" onclick="return Validate();" />
    </form>
</td>

<script>
$(document).ready(function () {
    var fromDate = $("#ddlFromDateValues").val();
    $("#hdnFromDate").val(fromDate);
    $("#ddlFromDateValues").val(fromDate).trigger("chosen:updated");
});
</script>

型号:

namespace WealthRef.Models
{
    public class ViewModels
    {
        public GenericModel GenericModels { get; set; }
    }
    public class GenericModel
    {
        public string fromDate { get; set; }
    }
}

控制器:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult ExportToExcel(ViewModels model)
{
    string FromDate = model.GenericModels.fromDate;
}
© www.soinside.com 2019 - 2024. All rights reserved.