如何将数组参数发送到操作方法?
如何创建数组变量? partialView.page
我试过了,但它没有用。
@{ Html.RenderAction("GetDefinationType", "Crew", new { category = "Competency","crew",Person" }); }
谢谢
答案 0 :(得分:0)
在方法GetDefinationType
处,您必须让它接受名为CategoryOptions
的参数,这将是您传递的类(参数)。
public class CategoryOptions
{
string[] myArray { get; set; }
}
这是如何调用和使用它:
@{ Html.RenderAction("GetDefinationType", "Crew", new { category = new CategoryOptions { myArray = new string [] {"Competency","crew","Person"}} }); }
答案 1 :(得分:0)
你可以在View中这样做:
@{
var temp = new[] { "Competency", "crew", "Person" };
}
@Html.Action("GetDefinationType", "Crew",new{category =temp })
动作:
public ActionResult GetDefinationType(string[] category)
{
return Content("");
}
答案 2 :(得分:0)
其他两个答案几乎是正确的,但过于复杂。
如果要将字符串数组作为参数传递,只需将匿名类型的字符串数组作为命名的category
参数传递:
@{Html.RenderAction("GetDefinationType", "Crew", new { category = new [] {"Competency","crew","Person"} });}
注意:RenderAction
用于代码块(正如您已添加的那样),但您可以使用更简单的@Html.Action
用于内联Razor代码:
@Html.Action("GetDefinationType", "Crew", new { category = new [] {"Competency","crew","Person"} })
在任何一种情况下,控制器操作方法只需要接受一个名为string[]
类型的参数。
e.g。
public ActionRresult GetDefinationType(string[] category)
{
// do something with the list of categories
}
此外,除非您的意思是defamation
和definition
的俚语组合,否则“defanation
”请拼写definition
:)