Asp.net mvc Umbraco曲面控制器或渲染控制器
嗨,我有我的“主”控制器和一个“分拣”控制器在翁布拉科7。“主”控制器对于索引操作工作正常,因为它是从RenderMvcController重写的。首先,我搞不清楚我应该在哪个实例中使用哪个控制器,即曲面控制器或渲染控制器。我似乎无法访问下面的twitter操作,这是ajax所需要的。我是否需要将twitter操作放在surface控制器中,还是可以在umbraco中使用常规mvc控制器Asp.net mvc Umbraco曲面控制器或渲染控制器,asp.net-mvc,umbraco,Asp.net Mvc,Umbraco,嗨,我有我的“主”控制器和一个“分拣”控制器在翁布拉科7。“主”控制器对于索引操作工作正常,因为它是从RenderMvcController重写的。首先,我搞不清楚我应该在哪个实例中使用哪个控制器,即曲面控制器或渲染控制器。我似乎无法访问下面的twitter操作,这是ajax所需要的。我是否需要将twitter操作放在surface控制器中,还是可以在umbraco中使用常规mvc控制器 public override ActionResult Index(RenderModel mo
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));
}
public override ActionResult索引(RenderModel模型)
{
var storedProcedure=新的storedProcedure()
{
ConnectionString=ConfigurationManager.ConnectionString[“CentralDbContext”]。ConnectionString
};
DataSet ds=storedProcedure.ExecuteProcedureToDataSet(“GetHomePage”);
IMapSetup map=新建MapHomePage();
主页=地图设置(ds);
homepage.Slideshow=CurrentPage.AncestorsOrSelf(1).First().subjects(“SlideshowItem”).Take(5.AsMany();
这是。_weatherSettings.DefaultLocation=“warrington”;
homepage.Forecast=newforecaster(this.\uweathersettings,this.\ucachelper).GetWeather(this.\uweathersettings.DefaultLocation);
返回当前模板(主页);
}
公共行动结果推特排序(int?页)
{
int currentPageIndex=page.HasValue?page.Value-1:0;
var storedProcedure=新的storedProcedure()
{
ConnectionString=ConfigurationManager.ConnectionString[“CentralDbContext”]。ConnectionString
};
DataSet ds=storedProcedure.ExecuteProcedureToDataSet(“GetHomePage”);
IMapSetup map=新建MapHomePage();
主页=地图设置(ds);
if(Request.IsAjaxRequest())
{
返回PartialView(“umbTweets”,homepage.Twitter.ToPagedList(currentPageIndex,DefaultPageSize));
}
返回PartialView(homepage.Twitter.ToPagedList(currentPageIndex,DefaultPageSize));
}
我的方法是:
- 渲染控制器仅用于向用户显示数据
- Surface controller用于交互(我主要用于ajax或表单的交互)
我可以更改surface Controller在umbraco tho中使用的默认路径吗?我不希望我的主页在url中是/umbraco/surface-我可以用SurfaceControl更新传递到视图的模型吗too@MatthewChambers检查更新,是的,你可以,不,你不应该让所有的东西都通过surface controller运行(仅通信)不要忘记在umbraco的web.config中添加路径umbracoReservedPaths@VinnyG为什么它应该位于保留路径中?