2014-09-25 3 views
-1

У меня есть div в представлении MVC, у которого есть webgrid, привязанный к модели. При загрузке начальной страницы gird отлично заполняется данными модели, но когда я нажимаю кнопку на той же странице, сетка должна обновляться по значениям поиска, которых не происходит. Сетка имеет одинаковые начальные данные даже после нажатия кнопки. Как обновить сетку с обновленными значениями?Как обновить часть просмотра MVC нажатием кнопки?

@{ var gd=new WebGrid(Model.NonPromoJobList,canPage:true,rowsPerPage:5,canSort:true, selectionFieldName:"selectedRow",ajaxUpdateContainerId:"gridContent"); 

    gd.Pager(WebGridPagerModes.NextPrevious); 

} 

<div id="gridContent" class="container-fluid"> 
@gd.GetHtml(
     columns: gd.Columns(

     gd.Column("JobTitle", "Job Title",format: 
     @<text><a href="javascript:void()" onclick="javascript:showJobNotice('@item.JASEQ');" title="Job Title"> @Html.Raw(item.JOBTITLE) </a> </text>), 
     gd.Column("Department","Department"), 
     gd.Column("Location","Location"), 
     gd.Column("ClosingDate","Closing Date"), 
     gd.Column("Action",style:"col1",format: @<text> 
    <a class="btn btn-xs btn-info" title="Apply Online" onclick="javascript:openApp('@item.JOBTITLESEQ');" href="javascript:void()">Apply</a> 

</text> 
))) 
</div> 

<div class="panel-footer text-center color4 "> 
       <input type="button" class="btn btn-primary btn-s" value="Search" onclick="searchJobs()" /> 
</div> 
+0

Вам либо нужно добавить форму, чтобы вы могли отправить страницу назад на сервер, либо добавить javascript и использовать ajax. – jrummell

ответ

0

Вы можете сделать это с помощью JQuery и использования частичных видов. В случае пожара вызовите JQuery Ajax для вашего действия MVC. Затем действие может вернуть частичный вид, который вы хотите обновить. Затем в функции успеха ajax в jquery просто замените содержимое HTML частичного представления обновленным контентом, который был возвращен вашим действием.

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