Как мне узнать, является ли регулярная форма для обратной передачи в ASP.ENT (почему IsPostback не установлен в простых формах ASP.NET) - PullRequest
0 голосов
/ 03 апреля 2009

Я использую ASP.NET для обработки простых форм, отправляя сообщения обратно самому себе. (Я не хочу использовать формы ASP.NET, с runat = "server)

Для IsPostBack не устанавливается, когда это действительно должна быть обратная передача.

В чем причина этого?

Разве я не должен отправлять обратно себе?

<form method="post" id="theForm" action="http://localhost/index.aspx">
  <input type="submit" value="submit" />
  <input ID="titleTB" type="text" />
  <input id="zipTB" type="text" /><br />
</form>

Ответы [ 5 ]

4 голосов
/ 03 апреля 2009

Вам потребуется установить атрибут runat = 'server', чтобы постбэки работали правильно для вашей формы и элементов управления.

На самом деле, Олав, если вам действительно нужен абсолютный контроль над HTML и его обработкой, советую взглянуть на ASP.NET MVC , который был разработан с учетом этого

1 голос
/ 03 апреля 2009

Если вы не хотите использовать runat = "server", вы всегда можете использовать другие методы, такие как Request.HttpMethod, который будет установлен в "POST" при использовании обратных передач.

0 голосов
/ 03 апреля 2009

Хотя вы не можете использовать IsPostback, не имея на своей странице качества asp.net, вы можете просмотреть переменную заголовка http REFERRER - она ​​сообщает вам, откуда поступил запрос - если это ваша страница, то она была вероятно постбэк ...

0 голосов
/ 03 апреля 2009

что-то вроде 'POST' = Request.HTTPMETHOD

0 голосов
/ 03 апреля 2009

Как сказал Конрад ... у вас не может быть товаров обоих миров. IsPostback является частью функциональности WebForms, и webforms поставляется вместе с тегом runat = "server" (и некоторым viewstate, тегом eventvalidation, long dom id :-)).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...