我有三个类似路线的重载动作;路由工作正常,问题在于链路生成。
代码与此类似:
[RoutePrefix("Prefix")]
public partial class MyController : Controller
{
[ActionName("Index"), Route]
public virtual ActionResult ActionMethod() {}
[ActionName("Index"), Route("{param1}")]
public virtual ActionResult ActionMethod(AnEnum param1, long? param2 = null) {}
[HttpPost, ActionName("Index"), Route("{param1}")]
public virtual ActionResult ActionMethod(Model model) {}
}
使用当前路由prefix/
和prefix/EnumVal1
工作正常,问题在于生成的网址;我得到prefix/?param1=Val
第二个操作方法,它没有正确路由,post
操作也没有。
如果我更改路线order
,则第一个链接无法正常生成。
[ActionName("Index"), Route("", Order = 1)]
public virtual ActionResult ActionMethod() { }
[ActionName("Index"), Route("{param1}", Order = 0)]
public virtual ActionResult ActionMethod(AnEnum param1, long? param2 = null) {}
知道我在这里缺少什么吗?请注意,由于存在外部链接,因此无法明确确定路径名称。