Используйте ключевое слово limit. «выбрать * из таблицы LIMIT 1» Это будет делать, как говорится, и ограничит результат только одним.
Это - точно то же как изменение Request.Querystring
. Оба внутренне осложнены частными собственностями и что можно было считать ошибкой, однако существует два возможных решения, о которых я знаю (я отклоню план response.redirect без обсуждения - это ужасно).
Метод нужно использовать отражение для изменения набора непосредственно:
NameValueCollection oQuery = Request.QueryString;
oQuery = (NameValueCollection)Request.GetType().GetField("_queryString",BindingFlags.NonPublic | BindingFlags.Instance).GetValue(Request);
PropertyInfo oReadable = oQuery .GetType().GetProperty("IsReadOnly", BindingFlags.NonPublic | BindingFlags.Instance);
oReadable.SetValue(oQuery, false, null);
oQuery["foo"] = "bar";
oReadable.SetValue(oQuery, true, null);
План B, который я думаю, предоставляет себя лучше поблочному тестированию, должен постараться не иметь дело с набором непосредственно и вместо этого передать его как a NameValueCollection
к любому методу Вы хотите обработать его, мелкое копирование вообще, Вам нужно из него. Я использовал это сам для насмешки веб-запросов.
Править: Marc Gravell привел более красноречивые причины для плана B
Форма является представлением какой клиент, отправленный в запросе. Что это, Вы хотите сделать? Лично, я попытался бы отделиться "прочитанный форма" код от, "делают что-то со значениями" код - тот путь, можно сделать любую предварительную обработку вначале (при чтении из формы), и ни один из более позднего кода не должен знать о том, что было на самом деле отправлено - это просто принимает значения, данные ему (т.е. это никогда не говорит с запросом непосредственно).
Если также означает, что можно протестировать логику без потребности в форме или даже запрос HTTP вообще.
На самом деле ASP.NET MVC сделает многое из этого (вышеупомянутый абзац) для Вас...
Обратите внимание, что можно обновить.Items набор - но это немного более неопределенно (т.е. он не имеет отношение конкретно к форме).
(аплодисменты для фиксации опечатки btw)