5
嗨我有我的'家'控制器和'排序'控制器在umbraco 7。'家'控制器工作正常的索引行動,因爲它從RenderMvcController重寫。首先,我很困惑我應該在哪個實例中使用哪個控制器,即一個表面控制器或一個rendermvc控制器。我似乎無法訪問下面的twitter動作,這是我需要的Ajax。我是否需要將twitter動作放在曲面控制器中,或者我可以在umbraco中使用常規的mvc控制器嗎?Umbraco曲面控制器或RenderMvcController
public override ActionResult Index(RenderModel model)
{
var storedProcedure = new StoredProcedure()
{
ConnectionString = ConfigurationManager.ConnectionStrings["CentralDbContext"].ConnectionString
};
DataSet ds = storedProcedure.ExecuteProcedureToDataSet("GetHomePage");
IMapSetup map = new MapHomePage();
HomePage homepage = map.Setup<HomePage>(ds);
homepage.Slideshow = CurrentPage.AncestorsOrSelf(1).First().Descendants("SlideshowItem").Take(5).AsMany<Slideshow>();
this._weatherSettings.DefaultLocation = "warrington";
homepage.Forecast = new Forecaster(this._weatherSettings, this._cacheHelper).GetWeather(this._weatherSettings.DefaultLocation);
return CurrentTemplate(homepage);
}
public ActionResult TwitterSort(int? page)
{
int currentPageIndex = page.HasValue ? page.Value - 1 : 0;
var storedProcedure = new StoredProcedure()
{
ConnectionString = ConfigurationManager.ConnectionStrings["CentralDbContext"].ConnectionString
};
DataSet ds = storedProcedure.ExecuteProcedureToDataSet("GetHomePage");
IMapSetup map = new MapHomePage();
HomePage homepage = map.Setup<HomePage>(ds);
if (Request.IsAjaxRequest())
{
return PartialView("umbTweets", homepage.Twitter.ToPagedList(currentPageIndex, DefaultPageSize));
}
return PartialView(homepage.Twitter.ToPagedList(currentPageIndex, DefaultPageSize));
}
我可以更改默認路徑,表面控制器在umbraco tho中使用,我不希望我的主頁是/ umbraco /表面在url-我可以更新模型獲取傳遞給視圖與surfacecontroller –
@MatthewChambers檢查更新,是的,你可以,不,你不應該有一切通過表面控制器運行(只有通信) – cpoDesign
不要忘記在umbraco的web.config中添加路徑umbracoReservedPaths – VinnyG