我正在尝试从 Controller 内部读取我在路由中定义的参数。
路线:
routes.MapRoute(
"BusinessVoice", // Route name
"business/{controller}/{action}/{id}", // URL with parameters
new { controller = "Voice", action = "Index",
id = UrlParameter.Optional, locale = "business" } // Parameter defaults
);
我希望能够从 Controller 内部读取路由参数 locale,但不知道在哪里寻找它。
Controller :
namespace www.WebUI.Controllers
{
public class VoiceController : Controller
{
public VoiceController()
{
... want to read the locale param here
}
public ViewResult Index(string locale)
{
return View();
}
}
}
感谢任何帮助!
最佳答案
戴夫,
这是来 self 的基础 Controller ,但您也应该能够从顶级 Controller 中执行完全相同的操作:
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 : read route param inside controller,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3400126/