相关疑难解决方法(0)

ASP.NET MVC路由通过方法属性

StackOverflow播客#54中,Jeff提到他们通过处理路由的方法上方的属性在StackOverflow代码库中注册其URL路由.听起来像一个很好的概念(菲尔哈克提出的关于路线优先事项的警告).

有人可以提供一些样本来实现这一目标吗?

此外,使用这种路由风格的任何"最佳实践"?

asp.net-mvc routing url-routing decorator

80
推荐指数
3
解决办法
2万
查看次数

ASP.NET MVC Html.ActionLink结果URL - 编码方式

我在MVC控制器中创建了大量的操作.

public ActionResult DoSmth1(string token)
public ActionResult DoAnother2(string token)
Run Code Online (Sandbox Code Playgroud)

当我必须调用ActionLink时..

=Html.ActionLink<SomeController>( x=> x.DoSmth(item.property), item.property)
=Html.ActionLink<AnotherController>( x=> x.DoAnother(item.property), item.property)
Run Code Online (Sandbox Code Playgroud)

...它会生成不同的网址:

/Some/DoSmth/stringvalue
/Another/DoAnother?property=stringvalue
Run Code Online (Sandbox Code Playgroud)

在哪里设置构建URL的方式?我也没有想法...((


好的,有一点方法: - 如果属性名称与路由模式中使用的相同 - 例如controller,action和id - MVC将始终使用路由构建器(/ c/a/id).

这有点帮助(所以 - 尽可能将参数命名为"id"))

但整体问题仍然有效......


必须与路径中的令牌命名相同

确切地说 - 我第一次有这个想法.

但是 - 现在我只有默认路由({controller}/{action}/{id})但是仍然在斜杠中有"属性"的URL ...这很奇怪.

  • 还有一种骗子的方式 - 创建一个精确的路线,匹配给定的控制器与它的参数名称 - 似乎将是最终的答案 - 但我仍然不想这样做((

.net asp.net-mvc routing html-helper actionlink

6
推荐指数
1
解决办法
7147
查看次数