JR.*_*JR. 16 .net c# arrays http request
在.NET中的HTTP请求中传递和处理数组的标准方法是什么?我有一个解决方案,但我不知道这是否是最好的方法.
这是我的解决方案:
<form action="myhandler.ashx" method="post">
<input type="checkbox" name="user" value="Aaron" />
<input type="checkbox" name="user" value="Bobby" />
<input type="checkbox" name="user" value="Jimmy" />
<input type="checkbox" name="user" value="Kelly" />
<input type="checkbox" name="user" value="Simon" />
<input type="checkbox" name="user" value="TJ" />
<input type="submit" value="Submit" />
</form>
Run Code Online (Sandbox Code Playgroud)
ASHX处理程序以逗号分隔的字符串接收"user"参数.您可以通过拆分字符串轻松获取值:
public void ProcessRequest(HttpContext context)
{
string[] users = context.Request.Form["user"].Split(',');
}
Run Code Online (Sandbox Code Playgroud)
所以,我已经找到了我的问题的答案:为同一个参数名称分配多个值,假设ASHX处理程序将其作为逗号分隔的字符串接收,并拆分字符串.我的问题是这是否通常在.NET中完成.
这是什么标准做法?是否有一种更简单的方法来获取多个值,而不是假设该值是以逗号分隔并在其上调用Split()?这是数组通常如何在.NET中传递,还是使用XML?
有没有人对这是否是最好的方法有任何见解?
Guf*_*ffa 32
没有真正的标准,但你使用的是最接近它的.
但是,这些值实际上不是以逗号分隔的字符串形式发送的,它们是作为具有相同名称的单独值发送的.示例中的表单数据如下所示:
user=Aaron&user=Bobby&user=Jimmy&user=Kelly&user=Simon&user=TJ
Run Code Online (Sandbox Code Playgroud)
您可以像这样直接读取值作为数组:
string[] users = context.Request.Form.GetValues("user");
Run Code Online (Sandbox Code Playgroud)
如果你使用Form["user"]
它将为你连接值,你必须再次拆分它们.这只是浪费时间,如果任何值包含逗号,它也会中断.
归档时间: |
|
查看次数: |
28077 次 |
最近记录: |