【发布时间】:2012-07-07 00:23:56
【问题描述】:
我在 JavaScript 函数中有这段代码:
var url = '@Url.Action(MVC.Membership.User.ActionNames.Update, MVC.Membership.User.Name)';
url += "?userName=" + userName;
ul.append("<li><a href=" + url + "\>" + userName + "</a></li>");
Membership 是一个Area。我使用T4MVC 来引用控制器和动作名称以避免魔术字符串... :)
此JavaScript 代码是位于Membership 区域中的View 的一部分。
UserController 是这样装饰的:
[RouteArea("Membership")]
public partial class UserController : BaseController
Action 方法就是这个:
[GET("Users/Update/{userName}")]
public virtual ActionResult Update(string userName)
我在链接中得到的路线是这样的:
http://localhost:8087/membership/User/Update?userName=leniel
我希望它是:
http://localhost:8087/membership/users/update?userName=leniel
所以我的问题是:为什么链接不是小写的,因为应用程序中的所有其他链接都是用小写字母生成的?这是不支持还是我忘记了一些与AttributeRouting 或区域设置相关的配置?
【问题讨论】:
标签: javascript asp.net-mvc-4 asp.net-mvc-areas attributerouting url-action