使用数据网格的部分视图

时间:2013-03-14 01:13:16

标签: c# asp.net-mvc

我试图调用两个部分视图但我的程序试图在我传递一个搜索参数之前填充我的网格。在我将它传递给搜索框中的文本之前,我无法弄清楚如何防止它尝试渲染webgrid。 这是我的部分观点:

<div class="webgrid-wrapper">
    <div class="webgrid-title">Values</div>
    <div id="grid">
        @grid.GetHtml(
tableStyle: "webgrid",
        headerStyle: "webgrid-header",
        footerStyle: "webgrid-footer",
        alternatingRowStyle: "webgrid-alternating-rows",
        columns: grid.Columns(
            grid.Column("Id", "ID"),
            grid.Column("Name", "Name")
        )
        )
</div>
</div>
</div>

这是我的主页视图,我将两个部分视图拉入:

    <section class="featured">
    <div class="content-wrapper">
        <hgroup class="title">
            <h1>@ViewBag.Title</h1>
            <h2>@ViewBag.Message</h2>
        </hgroup>
    </div>
</section>
@using (Html.BeginForm("Analysis", "Home", "POST"))
{
<div class="searchField">
    <div class="searchbox">
        Search: <input type="text" name="Search" />
        <input type="submit" value="Submit">
    </div>
</div>
}


 @Html.Partial("PartialChemAnalysis")
 @Html.Partial("PartialSlagView")

1 个答案:

答案 0 :(得分:0)

你可以通过检查搜索参数是否有值来做到这一点,如果没有,那么你就不必渲染网格。

控制器中的

public ViewResult Analysis(string search) {
        ViewBag.DisplayGrid = !string.IsNullOrEmpty(search);
        //do you logics then return
    }
在您的视图中

  @if (ViewBag.DisplayGrid != null && ViewBag.DisplayGrid) {
        //Render your partial since its true.
          @Html.Partial("PartialChemAnalysis")
          @Html.Partial("PartialSlagView")
     }

初始加载或没有搜索参数时。 viewbag将设置为false,并且不会渲染部分。 如果搜索参数具有值,则会呈现。