当前位置: 首页 > 编程语言 > C#

MVC3AuthorizeAttributeRedirectionUsingCustomMessage分享

时间:2023-04-10 14:06:53 C#

MVC3AuthorizeAttributeRedirectionUsingCustomMessage如何创建一个自定义的AuthorizeAttribute,以字符串参数的形式指定消息,然后传递给登录页面?例如,理想情况下这样做会很酷:[Authorize(Message="Accesstotheblahblahfunctionrequireslogin.Pleaseloginorcreateanaccount")]publicActionResultSomeAction(){returnView();然后,在登录操作中,我可以这样做:publicActionResultLogin(stringmessage=""){ViewData.Message=message;返回视图();}最后在视图中我可以这样做:@if(!String.IsNullOrEmpty(ViewData.Message)){@ViewData.Message}基本上我想将自定义消息传递到登录页面,以便我可以显示特定于试图在特定时间访问的用户。您可以尝试这样的事情:publicclassCustomAuthorizeAttribute:AuthorizeAttribute{publicstringMessage{get;放;}publicoverridevoidOnAuthorization(AuthorizationContextfilterContext){varresult=newViewResult();result.ViewName="登录.cshtml";//这可以是一个你不必硬编码的属性result.MasterName="_Layout.cshtml";//这也可以是一个属性result.ViewBag.Message=this.Message;filterContext.Result=结果;}用法:[CustomAuthorize(Message="Youarenotauthorized.")]publicActionResultIndex(){returnView();}web.config中的控制器:publicActionResultLogOn(){returnView();}publicActionResultLogOnYouHavenotRight(){returnView();}[HttpPost][ValidateAntiForgeryToken]publicActionResultLogOn(LogOnModelmodel,stringreturnUrl){}在两个视图中:以上是C#学习教程:MVC3AuthorizeAttributeredirectshareusingcustommessage如果对你有用,你需要知道更多C#学习教程,希望大家多多关注—Html.BeginForm("LogOn","Account")本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如有转载请注明出处:

最新推荐
猜你喜欢