使用asp.net 4.0时,是否可以在Url路由中使用可选参数?
我的意思是我只传递一个参数的值并跳过另一个参数的值?
感谢。
答案 0 :(得分:1)
我无法给你一个答案(我仍然在寻找),但也许是一种解决方法。 据我了解您的问题,您希望能够执行以下操作:
a)my-pets.com/dog/brown/long/good-temper
b)my-pets.com/dog///mean-barker
c)my-pets.com/dog/black /
用户可以省略参数(在示例b中),狗的颜色和毛皮的种类(短或长)
我的解决方法执行以下操作:
string furType = Page.RouteData.Values["furType"] == null ? "-" : Page.RouteData.Values["furType"].ToString();
这允许以下路线
在我的代码中,我使用它来过滤数据库中的值
var pet = new Pet();
pet.getPets(pet.filter(petType="dog", petTemper="mean-barker");
答案 1 :(得分:0)
routes.MapPageRoute(
"ProductsBrowse",
"browse/{BrowseBy}/{Category}",
"~/Pages/Products/Browse.aspx",
false,
new RouteValueDictionary { { "Category", string.Empty } }
);