asp.net-mvc – 将{sitename}参数传递给MVC控制器操作
发布时间:2020-05-23 20:15:22 所属栏目:asp.Net 来源:互联网
导读:如何在路径中检索站点范围的URL参数,而不会使用参数混乱每个控制器操作?我的问题类似于 this question,但我想避免使用ModelBinder的混乱. IE浏览器.在Global.asax.cs中: routes.MapRoute( Default, // Route name {sitename}/{controller}/{action}/{id},
|
如何在路径中检索站点范围的URL参数,而不会使用参数混乱每个控制器操作?我的问题类似于 this question,但我想避免使用ModelBinder的混乱. IE浏览器.在Global.asax.cs中: routes.MapRoute(
"Default",// Route name
"{sitename}/{controller}/{action}/{id}",new { sitename = "",controller = "SomeController",action = "Index",id = "" } );
所以,而不是SomeController类中的以下内容: public ActionResult Index(string sitename)
{
SiteClass site = GetSite(sitename);
...
return View(site.GetViewModel());
}
我宁愿拥有以下内容: public ActionResult Index()
{
SiteClass site = CurrentSite; // where CurrentSite has already retrieved data based on unique URL sitename parameter.
...
return View(site.GetViewModel());
}
也许这可以通过控制器范围的动作过滤器来实现? OnActionExecuting? 解决方法首先添加一个到Global.aspx.cs的路由来传递{sitename}参数:routes.MapRoute(
"Sites",// URL with parameters
new { sitename = "",controller = "Home",id = "" } // Parameter defaults
);
然后在基本控制器中添加以下简单代码: public class BaseController: Controller
{
public string SiteName = "";
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
HttpRequestBase req = filterContext.HttpContext.Request;
SiteName = filterContext.RouteData.Values["sitename"] as string;
base.OnActionExecuting(filterContext);
}
}
并在派生控制器中使用: public class HomeController: BaseController
{
public ActionResult Index()
{
ViewData["SiteName"] = SiteName;
return View();
}
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 如何打开一个页面在新的选项卡按钮点击asp.net?
- asp.net-core-mvc – 什么是Asp.Net Core MVC中的IViewLoca
- asp.net-mvc – 使用JSON结果填充下拉列表 – 使用MVC3,JQu
- asp.net – 前端头还是后端?
- asp.net-mvc – LabelFor和TextBoxFor不生成相同的id
- asp.net – 当绑定值包含冒号时,如何绑定GridView HyperLin
- asp.net-mvc – 找不到与Web API中的请求URI匹配的HTTP资源
- asp.net-mvc – ASP.NET MVC项目架构
- asp.net – 获取数据绑定到ListView上DataBound事件
- asp.net-mvc-3 – 如何使用ASP.net MVC的AsyncController处
推荐文章
站长推荐
- asp.net – MSBuild / WebDeploy – 如何防止它删
- 如何在我的域模型中实现ASP.NET成员资格提供程序
- asp.net-mvc – MVC简单模型绑定无法正常工作
- asp.net-mvc-4 – 实体框架代码第一个多对多关系
- asp.net – ModalPopupExtender和验证问题
- asp.net – 如何在EF Core中向Identity用户添加外
- asp.net – 客户特定语言的定制文化?
- ASP.NET WebHooks和Signal-R之间的区别
- asp.net-mvc – HandleErrorAttribute无法正常工
- asp.net – SQL Server未找到或无法访问
热点阅读
