2016-08-18 70 views
0

我有一個局部視圖「_search」顯示數據的我添加搜索文本框和鏈接搜索重裝局部視圖阿賈克斯

列表,當我點擊鏈接我得到一個錯誤頁面不確定的。我怎麼能在我的搜索方法執行日同一局部視圖 的搜索方法和展示我返回JSON

 return Json(
     { 
      Data = base.RenderPartialView("_search", model), 
         }, JsonRequestBehavior.AllowGet); 

搜索視圖 我改變<a>一個按鈕

<script type="text/javascript"> 
    document.getElementById("myButton").onclick = function() { 
     location.href = '@Url.Action("Search")' 
    }; 
</script> 

<button id="myButton" >search</button> 
+0

你爲什麼用'JSON result'返回'部分View'? – mmushtaq

+0

做什麼是正確的方法? –

+0

你點擊事件的代碼在哪裏?你如何調用這個動作方法,最後你的當前代碼沒有返回部分視圖! – Shyju

回答

0

您必須修復代碼,因爲你不能用json類型和....返回partialview。我建議你,在發送問題之前,最好的方式在谷歌網站搜索如何執行此任務。

以下鏈接幫助您瞭解如何實現這項工作:

https://www.google.com/search?q=reload+partial+in+mvc&ie=utf-8&oe=utf-8

還可以看到如何在下面的鏈接「自動刷新部分在ASP.NET MVC視圖」的例子:

https://www.mindstick.com/Articles/1132/auto-refresh-partial-view-in-asp-dot-net-mvc

所以,說你有PartialView,必須由點擊按鈕來更新您的視圖:

<div class="target"> 
    @{ Html.RenderAction("UpdatePoints");} 
</div> 
<input class="button" value="update" /> 

有一些方法來做到這一點。例如,你可以使用jQuery:

<script type="text/javascript"> 
    $(function(){  
     $('.button')click(function(){   
      $.post('@Url.Action("PostActionToUpdatePoints", "Home")').always(function(){ 
       $('.traget').Load('/Home/UpdatePoints');   
      })   
     }); 
    });   
</script> 

PostActionToUpdatePoints是[HttpPost]屬性,您可以用更新點

如果你在你的行動UpdatePoints使用邏輯()來更新點你的行動,也許你忘了添加[HttpPost]屬性:

[HttpPost] 
public ActionResult UpdatePoints() 
{  
    ViewBag.points = _Repository.Points; 
    return PartialView("UpdatePoints"); 
} 

我希望這對你有所幫助。

參考:

Updating PartialView mvc 4

+0

不完全是我在找什麼,我有一個查看文本框的搜索和數據庫列表,我需要當我點擊搜索鏈接重新刷新查看結果 –

+0

好吧,我找到了我的github帳戶中的示例:請按照以下鏈接:https://github.com/omidnasri/RenderPartialView –