2014-01-27 63 views
1

所以我被拉進了一個在umbraco沒有任何經驗並且期限很緊的深處。 我不知道umbraco是如何工作的,以及如何將你的MVC網站真正融入其中。很多headfuzz來解決。Umbraco和MVC和JSON

基本上我繼承它的人從MVC創建了一個基本控制器,我們可以像往常一樣調用MVC站點。

我也可以對控制器動作進行JSON調用,這會讓我們在ViewModel中返回一些數據。大。 但是,當您使用umbraco瀏覽到該網站並導航到同一頁面時,我們遇到了一些重大問題,例如無法調用JSON調用來獲取數據,因爲它表示找不到對象(換句話說,控制器操作未找到)。

我讀了關於umbraco基本上覆蓋默認的MVC路由,但......爲什麼這麼混亂? :)

我該如何將現有的MVC網站整合到umbraco中而不會有太大的痛苦? 在umbraco集成中調用控制器操作的url是什麼?

說我們有這樣的:

public JsonResult GetPersonDetail(int id) 
{ 
    var vm = new AjaxPersonDetailViewModel(....); 
    return new JsonResult(Data = vm }; 
} 

我可以把這個在JQuery中像這樣:

/myController的/ GetPersonDetail/1

讓我怎麼做,與一把umbraco?

+0

的一種方式從SurfaceController擴展您的控制器,並調用您的操作,如/ umbraco/surface/mycontroller/getpersondetail/1 –

+0

謝謝。我會試試這個。我想我已經嘗試了這個,但仍然有一個錯誤說沒有找到對象。我將嘗試一個乾淨的項目,並使用umbraco設置我的演示環境,並在此處逐步完成,看看它是否可行。其中一個項目,人們在一起混搭東西 –

回答

0

是你可以手動創建腳手架過程中創建的文件,並相應地引用它們,但是我更喜歡使用第一,然後添加/調整的自動配置文件,以配合我需要做這將是

+0

所以,這個問題似乎是該項目的方式。這些人正在創建2個項目。一個是合適的ASP.NET MVC 4 Web項目,另一個是umbraco網站項目。他們把它們混在一起,這一切都很奇怪。有些東西只是不起作用,所以現在我已經清理了它,只使用了umbraco項目並創建了從SurfaceController派生的控制器。我現在可以做一些事情,比如從AJAX到控制器的標註。 –