Каков стандартный способ передачи и обработки массива в HTTP-запросе в .NET? У меня есть решение, но я не знаю, лучший ли это подход.Передача значений массива в HTTP-запросе в .NET
Вот мое решение:
<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>
Обработчик ASHX принимает параметр «пользователь» в виде строки с разделителями-запятыми. Вы можете получить значения легко разделив строку:
public void ProcessRequest(HttpContext context)
{
string[] users = context.Request.Form["user"].Split(',');
}
Итак, у меня уже есть ответ на мой вопрос: присвоить множество значений того же имя параметра, предположите, обработчик ASHX получает его в виде строки с разделителями-запятыми , и разделите строку. Мой вопрос заключается в том, как это обычно делается в .NET.
Какая стандартная практика для этого? Есть ли более простой способ захватить несколько значений, чем предполагать, что значение разделено запятой и вызывает на нем Split()? Является ли это тем, как массивы обычно передаются в .NET или вместо этого используется XML?
Есть ли у кого-нибудь представление о том, подходит ли этот подход?
Спасибо, это именно то, что я искал. Итак, .NET Framework достаточно умен, чтобы читать значения параметров HTTP с тем же именем, что и массив, и у меня есть возможность получить его как массив через GetValues () или как строку с разделителями-запятыми посредством индексации. –
Спасибо.Это очень полезно, я получил список usint, что. –