在我的MVC 3應用程序中,我將有一個包含局部視圖的視圖。視圖本身會有一個動態生成的鏈接列表。該鏈接必須使部分視圖呈現該鏈接項目的詳細信息。ASP.NET MVC 3部分視圖從視圖中的動態列表動態呈現和鏈接
我會爲此使用Ajax嗎?如果是這樣,因爲我以前沒有使用過Ajax,有沒有在MVC 3應用程序中使用它的任何文檔?
此外,當視圖第一次加載時,局部視圖將不會被加載,或理想地顯示另一個單獨的局部視圖。任何想法都可以做到這一點?
感謝您的幫助。
在我的MVC 3應用程序中,我將有一個包含局部視圖的視圖。視圖本身會有一個動態生成的鏈接列表。該鏈接必須使部分視圖呈現該鏈接項目的詳細信息。ASP.NET MVC 3部分視圖從視圖中的動態列表動態呈現和鏈接
我會爲此使用Ajax嗎?如果是這樣,因爲我以前沒有使用過Ajax,有沒有在MVC 3應用程序中使用它的任何文檔?
此外,當視圖第一次加載時,局部視圖將不會被加載,或理想地顯示另一個單獨的局部視圖。任何想法都可以做到這一點?
感謝您的幫助。
解決這個問題,我發現是使用附帶的MVC框架3阿賈克斯傭工的最簡單的方法。 MVC 3的Ajax視頻Pluralsight在簡潔地解釋如何使用此功能的基礎知識方面做了出色的工作。
創建操作方法它返回一個PartialViewResult:
[HttpGet]
public ActionResult DetailedLinkInfo(int someIdentifier)
{
var detailedLinkInfo = GetFromSomewhere();
return PartialView(detailedLinkInfo);
}
然後創建一個局部視圖,強類型以detailedLinkInfo類型的(讓我們說這是一個DynamicLink
@model WebApplication.Models.DynamicLink
@* bunch of HTML for the detailed info *@
然後用jQuery在客戶端。給所有的鏈接一類,以便它可以更容易掛鉤的事件:
$(function() {
$('a.dynamic-link').click(function() {
$.get('/SomeController/DetailedLinkInfo', someIdentifier: $(this).attr('id'), function(data) {
$('#some-div').html(data);
});
});
});
最終結果:你點擊一個鏈接時,jQuery將執行AJAX得到你的控制器動作,然後綁定結果到div。
HTH
-1 Ajax助手已被棄用。 – 2012-08-29 19:36:38