Segmentos de manipulação de asp.net MVC com rota
Eu sou novo no ASP.Net MVC e estou enfrentando um problema. Aqui está.
routes.MapRoute(
"SearchResults",// Route name
"{controller}/{action}/{category}/{manufacturer}/{attribute}",
new {
controller = "Home",
action = "CategoryProducts",
category = UrlParameter.Optional,
manufacturer = UrlParameter.Optional,
attribute = UrlParameter.Optional
}
);
E aqui está o meu método de controle.
public ActionResult CategoryProducts(string category, string manufacturer, string attribute)
{
string[] categoryParameter = category.Split('_');
.
.
.
return View();
}
quando eu clico no URL, sempre fico nulo no parâmetro de categoria
http://localhost:50877/Home/CategoryProducts/c_50_ShowcasesDisplays
Eu recebo este erro
Object reference not set to an instance of an object
Como posso resolver este problema. Eu preciso extrair o id do segmento e usá-lo. Da mesma forma, eu preciso processar o fabricante e atribuir seqüências de caracteres também.
Mais uma coisa
Como posso fazer com que minha função obtenha pelo menos um parâmetro, independentemente da ordem? Quero dizer, quero criar funções como essa para lidar com categoria ou fabricante ou atributos ou categoria + fabricante e todas as combinações /