部分视图返回但浏览器不显示任何内容

时间:2013-07-06 21:33:35

标签: jquery asp.net-mvc-4 asp.net-mvc-partialview

我有搜索发生的视图,然后我将所有内容传递给我的控制器,控制器又搜索并返回部分视图。

当我调试视图时,我可以看到我传递的模型是正确的,但浏览器中没有显示任何内容?

可能的解决方案
我是否需要在ajax回调函数中附加所有内容,因为两个视图都已呈现?

所有东西都被称为模型我通过局部视图得到结果,当调试“结果”视图时它会迭代模型,一切看起来都很好。但浏览器什么都没显示?好像它没有相应地更新dom?!

这是我的代码!

主要观点

<div style="width: 700px; margin-top: 30px;">
<div style="float: left; width: 200px;">
   <table id="certificate">
     <thead> Certificates</thead>
     <tbody>

     </tbody>
 </table>
</div>
<div style="float: left; width: 200px;">
  <table id="courses">
      <thead> Courses</thead>
       <tbody>

      </tbody>
 </table>
</div>
<div style="float: left; width: 200px;">
  <table id="prevexp">
       <thead> Previous Exp.</thead>
      <tbody>

      </tbody>
 </table>
</div>
<div style="float: left; width: 100px;">
  <table id="country">
       <thead>Countries</thead>
      <tbody>

      </tbody>
 </table>

@Html.Partial("Result", new MvcApplication2.Models.ViewModel.Search.SearchResult())
</div>

结果视图     @model MvcApplication2.Models.ViewModel.Search.SearchResult

@{
 ViewBag.Title = "Result";
 }

<h2>Result</h2>
<table>
@foreach (var item in Model.SearchResults) {

<tr>
    <td> <b>
       @item.Value.FirstName  @item.Value.SurName
        </b>
    </td>

</tr>


foreach (var ic in item.Value.Certificates)
{  <tr>
    <td>
    @ic.CertificateName --  @ic.SearchType
    </td>

     </tr>
}


}
</table>

AJAX CALL

 $('#ajaxsearchbutton').live("click", function (e) {
    var form = {};
    form = $("#theform").serialize()
    $.post("Search", form, function (data) {
        alert("I'm Callbacked");
    });
 });

CONTROLLER

  return PartialView("Result", _sr);

1 个答案:

答案 0 :(得分:0)

解决了!

我需要附加部分视图中的数据,我是通过这样做来完成的

首先,我给了部分视图表一个ID。

<h2>Result</h2>
//UPDATED ID HERE!!!
<table ="tabletoupdate">
@foreach (var item in Model.SearchResults) {

<tr>
<td> <b>
   @item.Value.FirstName  @item.Value.SurName
    </b>
</td>

</tr>


foreach (var ic in item.Value.Certificates)
{  <tr>
<td>
@ic.CertificateName --  @ic.SearchType
</td>

 </tr>
}


}

<强> JAVASCRIPT

 $('#ajaxsearchbutton').live("click", function (e) {
  var form = {};
  form = $("#theform").serialize()
  $.post("Search", form, function (data) {

  //HERE I ADDED THE ID OF THE TABLE AND THE DATA THAT WAS RETURNED   

    $('#tabletoupdate').html(data);

    alert("I'm Callbacked");
   });
  });