我可以使用更多格式的网址:
site.net/Controller/Function/AnyStringProperty
site.net/Controller/Function/AnyIntProperty
site.net/Controller/Function/AnyStringProperty/AnyIntProperty
在控制器中我可以为Property1和Property2编写任何逻辑,但它看起来像是脏的。
其他方式是写类似的东西 site.net/Controller/Function/AnyDefautlForStringProperty/AnyIntProperty
除了
site.net/Controller/Function/AnyIntProperty
有没有可能在routes.MapRoute函数中如何做到这一点?或者在其他地方,然后在控制器?
routes.MapRoute(
"Controller/Function",
"Controller/Function/{AnyStringProperty}/{AnyIntProperty},
new { controller = "Controller", action = "Function", AnyStringProperty = "", AnyIntProperty = ""}
);
答案 0 :(得分:0)
是的,你可以这样做。
这是我过去使用的内容:
context.MapRoute(
"default_sub_resource",
"prefix/{controller}/{resource}/{subresource}/{action}"
)
context.MapRoute(
"default_resource",
"prefix/{controller}/{resource}/{action}"
)
context.MapRoute(
"default",
"prefix/{controller}/{action}"
)
我在行动之前包含了参数,但你可以把它们放在你喜欢的地方。