Jquery post从控制器接收数据但不会呈现

时间:2010-08-06 18:05:59

标签: jquery asp.net-mvc-2

我的MVC应用程序中有控制器方法,我使用jQuery $.post...进行调用。调用正确执行,处理并将有效结果发送回视图以进行渲染。如果我警告结果,则会按预期在客户端上收到所有内容,但数据不会呈现给视图。

控制器方法如下

public ActionResult SearchWithCriteria(string search)
{
    var companyList = new Companies().SearchCompanies(search);
    return  PartialView ("Partials\\SearchResults", new SearchViewModel() { SearchResults = companyList });
}

,jQuery如下

$("#submit").bind("click", function () {
                var searchCriteria = $("#SearchCriteria").val();
                if (searchCriteria.length > 0) {
                    $.post('/Search/SearchWithCriteria', { search: searchCriteria }, function (data) {
                        alert(data);
                        $("companyDetailsSearch").html(data);
                    });
                }
            });

partial是强类型的,如果我在代码上放置断点,我可以单步执行它,但正如我所说,视图不会呈现任何内容。

1 个答案:

答案 0 :(得分:3)

应该...

$("companyDetailsSearch").html(data);

......真的......

$("#companyDetailsSearch").html(data); // use '#' for id's, '.' for classes

<小时/> 编辑:不知怎的,我设法以最混乱的方式写出来。基本上,'companyDetailsS​​earch'不是有效的选择器。如果这是元素的ID,请先使用“#”符号...