C# 通过动作链接或url动作发送数组,并在MVC4的路由表中接受
是否可以通过操作链接或url操作发送数组并在路由表中接受?如果可能的话,请引导我 控制器代码为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
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
请求,意味着您不需要向路由表添加任何内容