在不知道确切数字的情况下将多个参数传递给C#MVC操作?

在不知道确切数字的情况下将多个参数传递给C#MVC操作?,c#,asp.net-mvc,asp.net-mvc-routing,C#,Asp.net Mvc,Asp.net Mvc Routing,是否可以在不知道确切数字的情况下将多个参数传递给C#MVC操作 例如,我可以通过考试 mywebsite.com/brands/gm/ford/fiat/dodge 或 但是,我不想创建一条类似以下的路线: "brands/{brand1}/{brand2}/{brand3}/{brand4}" 因为会有不同数量的品牌传递给它 如何实现这一点?从技术上讲,但只能使用通配符参数。然后,您自己负责解析路径之外的各个参数。例如: routes.MapRoute( "Brands",

是否可以在不知道确切数字的情况下将多个参数传递给C#MVC操作

例如,我可以通过考试

mywebsite.com/brands/gm/ford/fiat/dodge

但是,我不想创建一条类似以下的路线:

"brands/{brand1}/{brand2}/{brand3}/{brand4}"
因为会有不同数量的品牌传递给它


如何实现这一点?

从技术上讲,但只能使用通配符参数。然后,您自己负责解析路径之外的各个参数。例如:

routes.MapRoute(
    "Brands",
    "brands/{*brands}",
    new { controller = "Brands", action = "Index" }
);
根据您的第一个示例URL,
brands
参数的值将是字符串
“gm/ford/fiat/dodge”
。然后,您需要将其分解,以获得各个品牌:

public ActionResult Index(string brands)
{
    var brandList = brands.Split("/");

    // do something with `brandList`
}

从技术上讲,但只能使用通配符参数。然后,您自己负责解析路径之外的各个参数。例如:

routes.MapRoute(
    "Brands",
    "brands/{*brands}",
    new { controller = "Brands", action = "Index" }
);
根据您的第一个示例URL,
brands
参数的值将是字符串
“gm/ford/fiat/dodge”
。然后,您需要将其分解,以获得各个品牌:

public ActionResult Index(string brands)
{
    var brandList = brands.Split("/");

    // do something with `brandList`
}

从技术上讲,但只能使用通配符参数。然后,您自己负责解析路径之外的各个参数。例如:

routes.MapRoute(
    "Brands",
    "brands/{*brands}",
    new { controller = "Brands", action = "Index" }
);
根据您的第一个示例URL,
brands
参数的值将是字符串
“gm/ford/fiat/dodge”
。然后,您需要将其分解,以获得各个品牌:

public ActionResult Index(string brands)
{
    var brandList = brands.Split("/");

    // do something with `brandList`
}

从技术上讲,但只能使用通配符参数。然后,您自己负责解析路径之外的各个参数。例如:

routes.MapRoute(
    "Brands",
    "brands/{*brands}",
    new { controller = "Brands", action = "Index" }
);
根据您的第一个示例URL,
brands
参数的值将是字符串
“gm/ford/fiat/dodge”
。然后,您需要将其分解,以获得各个品牌:

public ActionResult Index(string brands)
{
    var brandList = brands.Split("/");

    // do something with `brandList`
}

假设您有一个控制器方法:

public ActionResult Some(string brands)
{
    string[] individualBrands = brands.Split(';');

    return View();
}

url如下所示:

假设您有一个控制器方法:

public ActionResult Some(string brands)
{
    string[] individualBrands = brands.Split(';');

    return View();
}

url如下所示:

假设您有一个控制器方法:

public ActionResult Some(string brands)
{
    string[] individualBrands = brands.Split(';');

    return View();
}

url如下所示:

假设您有一个控制器方法:

public ActionResult Some(string brands)
{
    string[] individualBrands = brands.Split(';');

    return View();
}

url看起来像:

在我的例子中,我需要用于SEO目的的斜线样式。但是看起来有点奇怪。。。绝对不是标准的。。。但这是一个品味的问题(真的=)@ramires.cabral:FWIW,你试图实现的目标实际上可能会对你的搜索引擎优化不利。例如,
/brands/gm/ford
是一个与
/brands/ford/gm
完全不同的URL,但是您的操作可能会为这两个变体呈现相同的内容。如果两个URL表单都被索引,这可能会导致重复的内容惩罚。在我的情况下,为了搜索引擎优化的目的,我需要使用斜杠样式。不过看起来有点奇怪。。。绝对不是标准的。。。但这是一个品味的问题(真的=)@ramires.cabral:FWIW,你试图实现的目标实际上可能会对你的搜索引擎优化不利。例如,
/brands/gm/ford
是一个与
/brands/ford/gm
完全不同的URL,但是您的操作可能会为这两个变体呈现相同的内容。如果两个URL表单都被索引,这可能会导致重复的内容惩罚。在我的情况下,为了搜索引擎优化的目的,我需要使用斜杠样式。不过看起来有点奇怪。。。绝对不是标准的。。。但这是一个品味的问题(真的=)@ramires.cabral:FWIW,你试图实现的目标实际上可能会对你的搜索引擎优化不利。例如,
/brands/gm/ford
是一个与
/brands/ford/gm
完全不同的URL,但是您的操作可能会为这两个变体呈现相同的内容。如果两个URL表单都被索引,这可能会导致重复的内容惩罚。在我的情况下,为了搜索引擎优化的目的,我需要使用斜杠样式。不过看起来有点奇怪。。。绝对不是标准的。。。但这是一个品味的问题(真的=)@ramires.cabral:FWIW,你试图实现的目标实际上可能会对你的搜索引擎优化不利。例如,
/brands/gm/ford
是一个与
/brands/ford/gm
完全不同的URL,但是您的操作可能会为这两个变体呈现相同的内容。如果两个URL表单都被索引,这可能会导致重复的内容惩罚。这正是我想要的!正是我要找的!正是我要找的!正是我要找的!