小编jpa*_*h78的帖子

MVC部分视图问题

我是MVC的新手,我想弄清楚是否有更好的方法来做到这一点.我有一个文本框供用户放入他们的搜索,然后基于该搜索我在搜索框下面显示一些结果.我试图避免在我的视图中有如此多的代码逻辑,并想知道是否有更好的方法来处理它.这是我现有的代码,根据"Model.Results"的值,如果我的其余逻辑通过,它将返回3个部分视图或按钮之一:

@section CustomerPrefixInfo
{
    @if (Model.Results == PrefixSearch.SearchResults.CustomerFound)
    {
        @Html.Partial("_CustomerPrefixInfo")
    }
    @if (Model.Results == PrefixSearch.SearchResults.PrefixResultsFound)
    {
        @Html.Partial("_PrefixResults")
    }
    @if (Model.Results == PrefixSearch.SearchResults.AnimalsFound)
    {
        @Html.Partial("_AnimalSearchResults")
    }
    @if (Model.Results == PrefixSearch.SearchResults.ValidNewPrefix)
    {
        using (Html.BeginForm("Index", "PrefixManagement", new { prefix = Model.AnimalPrefix.Prefix, dbPrefix = Model.AnimalPrefix.DbPrefix }))
        {
            <fieldset>
                <input id="btnReservePrefix" type="submit" value="Reserve Prefix" />
            </fieldset>
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我想将它放在一个控制器中,以便它只返回要显示的视图,然后只在页面上显示该视图.在做了一些rearch之后,我想使用Ajax.BeginForm并将InsertionMode设置为InsertAfter就可以了:

@using (Ajax.BeginForm("GenericSearch", "Home", FormMethod.Post, new AjaxOptions { InsertionMode = InsertionMode.InsertAfter, UpdateTargetId = "searchResults" }))
{
    <fieldset>
        <input id="btnPrefixSearch" type="submit" value="Prefix Search/Validate"/>
        @Html.EditorFor(model => model.Input)
    </fieldset> …
Run Code Online (Sandbox Code Playgroud)

c# ajax asp.net-mvc asp.net-mvc-4

5
推荐指数
1
解决办法
147
查看次数

标签 统计

ajax ×1

asp.net-mvc ×1

asp.net-mvc-4 ×1

c# ×1