Asp.net mvc 4 索引视图没有从Searchbox partial发出的ajax调用中收到list partial?

Asp.net mvc 4 索引视图没有从Searchbox partial发出的ajax调用中收到list partial?,asp.net-mvc-4,Asp.net Mvc 4,对于\u搜索框部分,我有以下部分视图 @model ecomm2.Models.MainSearchBoxViewModel <div id="search-box-wrapper" style="text-align:center"> <div id="search-box-div" style="display:inline-block"> @using (Ajax.BeginForm("GetResults", "Partials", new Ajax

对于
\u搜索框
部分,我有以下部分视图

@model ecomm2.Models.MainSearchBoxViewModel


<div id="search-box-wrapper" style="text-align:center">
<div id="search-box-div" style="display:inline-block">
@using (Ajax.BeginForm("GetResults", "Partials", 
    new AjaxOptions { 
        HttpMethod="get", 
        InsertionMode=InsertionMode.Replace, 
        OnSuccess="updateMainResultsDiv", 
        UpdateTargetId="divMainResultsList"}))
{    
    <table>
        <tr>
            <td>
            <fieldset>
                <label>Search: </label>
            </fieldset>
            </td>
            <td>
        <fieldset>
            @Html.DropDownListFor(m => m.ProdCatId, Model.MainSearchDDLCollection, new { style="width:200px;"})
        </fieldset>
    </td>
    <td>&nbsp;</td>            
    <td>
        <fieldset>
            <input type="text" name="SearchText" style="width:400px"/>
        </fieldset>
    </td>
            <td>&nbsp;</td>
    <td><input type="submit" value="Search" /></td>
        </tr>
        </table>
}
    </div>
</div>
<br />
然后,我在
主页
控制器的
索引
视图中有以下代码

@model IEnumerable<ecomm2.Models.HomeSearchResultsViewModel>

@{
    ViewBag.Title = "Index";
}

<h2>Welcome Admin,</h2>

<p>

</p>

<div id="divMainResultsList">
@Html.Partial("_SearchResultsList", Model)
</div>

<script type="text/javascript">
    function updateMainResultsDiv() {
        $('#divMainResultsList').html()
    }
</script>
@model IEnumerable
@{
ViewBag.Title=“Index”;
}
欢迎管理员,

@Html.Partial(“\u SearchResultsList”,模型) 函数updateMainResultsDiv(){ $('#divMainResultsList').html() }
当我将一个值传递给搜索框并执行搜索时,它显示操作方法
GetResults
收到了搜索值,LINQ生成了结果,但结果没有放在div区域。这个div放在正确的位置吗


使用
id=“divMainResultsList”
调用ajax方法返回部分视图并插入到div中,然后立即调用函数
updateMainResultsDiv()
清除它(从
ajax.BeginForm()
中删除
OnSuccess
选项),这似乎有点复杂虽然我认为您可能还有其他一些错误well@StephenMuecke函数updateMainResultsDiv()是否负责将返回的部分放在div区域?因此,基本上新的结果将清除旧的部分调用?不。这就是您的
Ajax.BeginForm()
所做的-它调用函数,然后将返回的部分插入到
UpdateTargetId
指定的元素中。删除
updateMainResultsDiv()
脚本和
OnSuccess
选项-但这不是你唯一的问题-再多给我一点time@StephenMuecke好的!:)
@model IEnumerable<ecomm2.Models.HomeSearchResultsViewModel>

@{
    ViewBag.Title = "Index";
}

<h2>Welcome Admin,</h2>

<p>

</p>

<div id="divMainResultsList">
@Html.Partial("_SearchResultsList", Model)
</div>

<script type="text/javascript">
    function updateMainResultsDiv() {
        $('#divMainResultsList').html()
    }
</script>