我正在尝试从控制器内部读取在路由中定义的参数。
路线:
routes.MapRoute(
"BusinessVoice", // Route name
"business/{controller}/{action}/{id}", // URL with parameters
new { controller = "Voice", action = "Index",
id = UrlParameter.Optional, locale = "business" } // Parameter defaults
);
从控制器内部,我希望能够读取route参数语言环境,但不知道在哪里寻找它。
控制器:
namespace www.WebUI.Controllers
{
public class VoiceController : Controller
{
public VoiceController()
{
... want to read the locale param here
}
public ViewResult Index(string locale)
{
return View();
}
}
}
任何帮助表示赞赏!
最佳答案
戴夫
这是我的basecontroller提供的,但您也应该能够从顶层的控制器做完全相同的事情:
protected override void Initialize(System.Web.Routing.RequestContext requestContext)
{
var locale = requestContext.RouteData.Values["locale"].ToString() ?? System.Globalization.CultureInfo.CurrentUICulture.TwoLetterISOLanguageName;
base.Initialize(requestContext);
}
祝好运
吉姆
关于c# - asp.net mvc:读取 Controller 内部的路由参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3400126/