asp.net-mvc – ASP.Net MVC路由到用户名
我正在尝试创建一个带有用户名的路由
所以URL是mydomain.com/abrudtkhul(abrudtkhul是用户名) 我的应用程序将有基于用户名的公共配置文件(例如:http://delicious.com/abrudtkuhl)。我想复制这个URL方案。 我如何在ASP.Net MVC中构建这个?我也在使用会员/角色提供商。 解决方法
这是您要做的,首先定义您的路线图:
routes.MapRoute( "Users","{username}",new { controller = "User",action="index",username=""}); 这允许你做的是设置以下惯例: >控制器:用户(UserController类型) 所以当你请求url http://mydomain.com/javier时,这将被转换为UserController.Index(string username)的调用,其中username被设置为javier的值。 现在,由于您计划使用MembershipProvider类,因此您希望更像这样: public ActionResult Index(MembershipUser usr) { ViewData["Welcome"] = "Viewing " + usr.UserName; return View(); } 为了做到这一点,您需要使用ModelBinder来完成从用户名到MembershipUser类型的工作。为此,您将需要创建自己的ModelBinder类型并将其应用于Index方法的用户参数。你的课程可以看起来像这样: public class UserBinder : IModelBinder { public ModelBinderResult BindModel(ModelBindingContext bindingContext) { var request = bindingContext.HttpContext.Request; var username = request["username"]; MembershipUser user = Membership.GetUser(username); return new ModelBinderResult(user); } } 这允许您将Index方法的声明更改为: public ActionResult Index([ModelBinder(typeof(UserBinder))] MembershipUser usr) { ViewData["Welcome"] = "Viewing " + usr.Username; return View(); } 如您所见,我们已经将[ModelBinder(typeof(UserBinder))]属性应用于方法的参数。这意味着在调用您的方法之前,将调用您的UserBinder类型的逻辑,因此在调用该方法时,您将具有一个您的MembershipUser类型的有效实例。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 按月分组的ASP.NET组数据
- asp.net – 无法为自定义MembershipProvider创建Membership
- asp.net-mvc-3 – 是否可能显示从ASP.NET MVC 3中的数据库的
- ASP.NET vNext如何处理config.json中的缓存,压缩和MimeMap?
- asp.net – 如何将gridview列绑定到子类值?
- asp.net – 是否有复杂的aspnet UI验证的设计模式?
- asp.net-mvc – ASP.NET MVC:获取RouteTable路由的URL
- asp.net-mvc – 使用Asp.Net MVC创建私人照片库
- 自定义asp.net页面中的Microsoft Communicator Presence指示
- asp.net – #Eval if语句在中继器
- “DataSource和DataSourceID都被定义为”使用ASP
- asp.net-mvc-3 – 如何使MVC3 DisplayFor显示枚举
- asp.net – 在Web.config中读取和编辑配置
- asp.net-mvc – 具有SelectList(s)最佳实践的ASP
- asp.net-mvc – 最佳实践:在web api控制器中处理
- 在ASP.net中使用NVP API时,PayPal SetExpressChe
- asp.net-mvc – 使用Fluent验证进行不显眼的自定
- asp.net-mvc – ASP.NET MVC和ViewState
- asp.net-mvc – 如何检查哪个动作方法呈现当前视
- 如何在ASP.NET生成的Word文件中嵌入图像