2009-08-10 111 views
4

由於某些特定的原因,我需要使用jQuery的load()方法將網頁饋送到div層。jQuery - ASP.NET MVC - .load和RenderPartial

大多數這些網頁都是普通的.html文件。

但是對於某些人來說,有一些數據處理正在進行 - 我希望能夠利用ASP.NET MVC模型(該網站是內置的) - 但這對於普通的.html頁面來說是不可能的 - 所以我需要使用.aspx/.ascx。

我想知道這是否可行,是否有人知道我是否可以加載從ASP.NET MVC中的.ascx ViewPage檢索到的圖層?

+0

你能詳細一點更多信息,請?我不清楚你的問題。 – CmdrTallen 2009-08-27 18:43:51

回答

7

您需要使用視圖模型生成的html可以在局部視圖中完成。

造成局部視圖(partialview.ascx),並在控制器創建得到的ActionResult

public ActionResult partialview(){ 
    //your code 
    return partialview(model); 
} 

現在在你的HTML頁面的方法,使用

$.get("controller/partialview", {any data you want to send}, function(html) { 
    $("#divToLoad").html(html); 
}); 
1

您也可以爲靜態html文件創建一個渲染部分方法。你可以檢查這個問題如何:ASP.Net MVC: RenderPartial for a static HTML file

+0

不,這不完全是我的意思... 我有一個html文件,在它內部,我需要繪製一個局部視圖或調用一個。它不能是.aspx/.ascx,它必須是.html文件。 – Ciel 2009-08-18 15:32:39

0

除非我不理解的東西,你可以很容易地通過一些手段做到這一點。例如,你可以設置一個'....../{filename} .html'的路由,將HTML文件作爲一個字符串進行處理,你可以將所有的HTML文件轉換成.ascx文件並返回一個局部視圖......等等等等。

+0

我可以打擾你詳細說明嗎?我對MVC的路由非常陌生,它可以做什麼/已經做了什麼。 – Ciel 2009-08-10 17:59:04

+0

我無法使用靜態.html文件的最大原因是因爲我需要在某些情況下使用視圖模型進行一些工作。 – Ciel 2009-08-10 18:06:06

0

如果我明白你的好,你所要做的就是在你所謂的行動回報的

PartialView() 

代替

View() 

(或任何你在正常情況下返回)。

+0

我不能使用PartialView,它不會返回到MVC頁面,而是返回到普通的普通.html頁面。這是我的問題。 我需要在正常的.html頁面中繪製局部視圖。 – Ciel 2009-08-18 15:31:05