C# 通过动作链接或url动作发送数组,并在MVC4的路由表中接受

C# 通过动作链接或url动作发送数组,并在MVC4的路由表中接受,c#,asp.net-mvc,routes,C#,Asp.net Mvc,Routes,是否可以通过操作链接或url操作发送数组并在路由表中接受?如果可能的话,请引导我 控制器代码为 public ActionResult subCategories(string mainCategory, string subCategory) { var fullPath = string.Concat(mainCategory, "/", subCategory); var id = _db.Categories.FirstOrDefault(p => p.F

是否可以通过操作链接或url操作发送数组并在路由表中接受?如果可能的话,请引导我 控制器代码为

 public ActionResult subCategories(string mainCategory, string subCategory)
    {
    var fullPath = string.Concat(mainCategory, "/", subCategory);
    var id = _db.Categories.FirstOrDefault(p => p.FullPath == fullPath);
    ViewBag.urlPath = id.FullPath;
    var categories = _db.Products.Where(p => p.CategoryID == id.ID);
    return View("CategoryDetail", categories);
    }
查看代码为

<a style="color: #333333" href="/productdetail/@ViewBag.urlPath/@Nname">@item.Name</a>

您可以使用
Json
假设我有一个数组

ViewBag.array = new[] {"test1", "test2", "test3"};
所以我的观点是

@Html.ActionLink("link","test",new {array= Json.Encode(ViewBag.array) })
Json.Encode
将此数组转换为
Json字符串

我的测试动作是这样的

 public ActionResult test (string array)
        {
            string[] result = System.Web.Helpers.Json.Decode<string[]>(array);

            return View();

        }
公共操作结果测试(字符串数组)
{
string[]result=System.Web.Helpers.Json.Decode(数组);
返回视图();
}

Json.Decode
将此
Json字符串
转换回
string[]
array

欢迎使用堆栈溢出。虽然这里有丰富的信息,但这个网站不是一个代码编写服务。如果你自己动手,把你尝试过的东西贴出来,人们就会帮助你你能展示你到目前为止尝试了什么吗?@Usman我像往常一样通过ViewBag将列表从controller发送到view for href,但我的问题是,是否可以通过href发送数组并在route table中接受它?你能展示你的controller吗?或者你能展示你尝试过的东西吗?你在说什么阵列?您的方法只有2个
string
参数-问题中没有数组谢谢您的回答,但如何在路由表中接受它?它将发送
GET
请求,意味着您不需要向路由表添加任何内容