我正在ASP.NET中构建一个自定义模型绑定器,在我的post变量中,我有两个同名的绑定器。示例:网站?person=1&人=3&人=6
目前我正在使用request。Form.Get("name")语法来获取变量,但它返回字符串,而不是我需要的字符串列表。如何获取列表中的所有变量?
您可以在模型绑定器中使用以下代码:
var request = controllerContext.RequestContext.HttpContext.Request;
string[] values = request.Params.GetValues("Name");
注意:
Request.Params
获得QueryString
、Form
、Cookies
和ServerVariables
项的组合集合,通过这种方式,您可以将模型绑定器用于查询字符串和表单数据。GetValues
从集合中获取与指定键关联的值。
request.Form.Get("person")
将为您提供一个字符串。但是,如果您有多个具有相同名称的表单元素,person,它将为具有person-name的项提供一个逗号分隔的值字符串。因此,您需要使用Split()
方法从中创建一个数组。
var s = request.Form.Get("person"); // s will have the value like "shyju,scott,sam"
var personArray= s.Split(',');