2016-09-28 4 views
0

У меня есть таблица, которая при щелчке должна загружать частичный вид. Я поставил точку останова в ActionResult RetrieveItemPrice() контроллера, он успешно переходит к оператору return, но не отображает PartialView в моем представлении.Частичный вид не загружается Javascript при щелчке по таблице

Controller (ItemController)

public ActionResult RetrieveItemPrice() 
{ 
    return PartialView("~/Views/Item/_ViewItemPrice"); 
} 

Просмотр (Создать)

... 
<div class="col-sm-8" style="border: 0px solid green; padding:10px;"> 
    <div id="pvItemPrice" class="" style="border: 0px solid green; "> 
    </div> 
</div> 
... 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#dbTable").click(function (e) { 
      debugger; 
      $("#pvItemPrice").load('/Item/RetrieveItemPrice'); 
     }); 
    }); 
</script> 

PartialView (_ViewItemPrice)

@model CDS.Models.ItemViewModel 
@using PagedList.Mvc; 

<div> 
    <table id="dbTable2" class="table table-hover" aria-busy="false"> 
     <thead> 
      <tr class="inner-table-head"> 
       <th class="hidden"> 
        @Html.DisplayNameFor(model => model.itemId) 
       </th> 
       <th> 
        @Html.ActionLink("Item", "Create", new { currentFilter = ViewBag.CurrentFilter }) 
       </th> 
       <th> 
        @Html.ActionLink("Price", "Create", new { currentFilter = ViewBag.CurrentFilter }) 
       </th> 
      </tr> 
     </thead> 
     <tbody id="dbBody2"> 
      @foreach (var item in Model.Items) 
      { 
       <tr> 
        <td class="hidden"> 
         @Html.DisplayFor(modelItem => item.itemid) 
        </td> 
        <td> 
         @Html.DisplayFor(modelItem => item.itemdesc) 
        </td> 
        <td> 
         @Html.DisplayFor(modelItem => item.itemprice) 
        </td> 
       </tr> 
      } 
     </tbody> 
    </table> 
</div> 
+0

Вы не передаете модель частичным представлениям, поэтому код в ней будет вызывать 'NullReferenceException' - вы можете обращаться к свойству' Items' 'null (я подозреваю, что вы получили' 500 (Internal Server Error) ' в браузере) –

+0

Oh! Я могу понять тебя сейчас! У меня есть LINQ в моем 'JsonResult Create ', который возвращает представление в Create. Но у меня его нет в «ActionResult RetrieveItemPrice». Я прав? Btw, я не получаю '500 (Внутренняя ошибка сервера)' –

+0

Но я думаю, что по крайней мере он должен отображать мою таблицу заголовков. Я попытаюсь сначала поэксперементировать –

ответ

0

Где модель передается в поле зрения (CDS.Models .ItemViewModel)?

return PartialView("~/Views/Item/_ViewItemPrice"); 

Кроме того, что показывают сетевые инструменты в качестве ответа? Код ответа 200 или 500?

+1

Вы задаете вопросы в ответ? я думаю, вы должны показать OP, что * как передать модель с частичным представлением * –

+0

Теперь я вижу, что у меня нет LINQ в моей «ActionResult RetrieveItemPrice()». Благодаря! @Div прав, хотя. А также, я думаю, он должен хотя бы отображать заголовок таблицы. Я не использую для этого никакой модели. Я вернусь к вам, ребята. –

+0

Пробовал упростить свой PartialView, чтобы выявить проблему, теперь у нее есть только код

Hello
. Но он все еще не отображается, когда я нажимаю на таблицу в 'Create' –

Смежные вопросы