发布页面时,部分视图变量为空

时间:2014-11-07 21:46:52

标签: c# asp.net-mvc-4 partial-views

我有三个视图,每个容器一个表,所有三个都具有相同的过滤功能。

我创建了一个名为filter的局部视图,它将在三个视图中的每个视图上呈现(保存复制相同的过滤器功能)

以下是我目前构建的视图

@model SomeApplication.ViewModel.ProjectViewModel
@{
ViewBag.Title = "Hierarchy";
Layout = "~/Views/Shared/_Layout.cshtml";
}


<h2>Hierarchy</h2>

@using (Html.BeginForm("Hierarchy", "Dealer", FormMethod.Post))
{
   @Html.Partial("~/Views/Shared/Filter.cshtml", @Model)
   <p>
    <button type="submit" value="Filter"></button>
  </p>
}
<table>
   <thead>
      <tr>
        <th>Dealer Name</th>
        <th>Commission Amount</th>
    </tr>
</thead>
<tbody>
    @foreach (var item in Model.DealerHierarchy)
    {
        <tr>
            <td>
                @item.DealerName
            </td>
            <td>
                @String.Format("{0:n0}", item.CommissionAmount)
                @*@item.CommissionAmount*@
            </td>
        </tr>
    }
</tbody>
</table>

我将模型ProjectViewModel传递给局部视图,部分视图在

下面
@model SomeApplication.ViewModel.ProjectViewModel

<div class="filter-container">

    @Html.TextBoxFor(m => m.Filter.FromDate, new { @placeholder = "From Date", @Id = "txtFromDate" })

    @Html.TextBoxFor(m => m.Filter.ToDate, new { @placeholder = "To Date", @id = "txtToDate" })

    @Html.DropDownListFor(m => m.Filter.SelectedPaymentStatus, Model.Filter.PaymmentStatus, new { @ID = "drpPaymentStatus" })
</div>

这是我发布的控制器。

 [HttpPost]
    public ActionResult Hierarchy(ProjectViewModel vm)
    {

        DateTime? fromDate = vm.Filter.FromDate;

        return View(vm);
    }

当我在fromdate和todate中输入一些值并按下提交时,值总是为null我已经遵循了一个教程,但似乎我在某些方面出错了任何帮助都会受到赞赏。

0 个答案:

没有答案