【问题标题】:Partial view get returned but Browser shows nothing返回部分视图,但浏览器不显示任何内容
【发布时间】:2013-07-06 21:33:34
【问题描述】:

我有一个搜索发生的视图,然后我将所有内容传递给我的控制器,该控制器依次搜索并返回一个局部视图。

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

可能解决方案
由于两个视图都已呈现,我是否需要在 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 调用

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

控制器

  return PartialView("Result", _sr);

【问题讨论】:

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


    【解决方案1】:

    解决了!

    我需要从局部视图中追加数据,我这样做了

    首先我给局部视图表一个 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");
       });
      });
    

    【讨论】:

      猜你喜欢
      • 2013-10-07
      • 1970-01-01
      • 2017-02-07
      • 2014-10-29
      • 2018-11-09
      • 1970-01-01
      • 1970-01-01
      • 2018-03-19
      • 2014-03-13
      相关资源
      最近更新 更多