Отправьте форму из asp в asp.Net - PullRequest
3 голосов
/ 23 апреля 2010

У меня классическое приложение asp.Я хочу опубликовать конкурсную форму с этой страницы в форме Asp.Net.Причина в том, что я хочу использовать много логики, которую я встроил в страницу Asp.Net для проверки перед входом в базу данных, и я не очень хорошо знаю asp.Не говоря уже о том, что asp.Net более безопасен.

Каков наилучший способ достижения этой цели?Мои мысли таковы:

Моя страница asp:

<html>
  <body>
    <form action="/Contests/entry.aspx" method="post">
      Name: <input type="text" name="fname" size="20" />
      Last Name: <input type="text" name="lname" size="20" />
      <input type="submit" value="Submit" />

    </form>
  </body>
</html>

Страница aspx работает в виртуальном каталоге и будет обрабатывать все, что ему отправлено.

Возможно ли этоили aspx предотвращает подобные вещи?

Я (желательно) не хочу создавать форму в aspx, так как мой коллега хочет контролировать страницу и сам создавать HTML, а я нетЯ хочу, чтобы постоянно менялись.

Есть ли какие-то предостережения, которые мне нужно учитывать?

С какими контрольно-пропускными пунктами я столкнусь? Как получить доступ к значениям опубликованной формы? Request.Form?

Ответы [ 3 ]

5 голосов
/ 23 апреля 2010

Да, это возможно.В общем, POST - это POST.Так что вы можете публиковать со страницы PHP на страницу .NET, если хотите.Вы получите доступ к Request.Form переменным так же, как и сейчас.Вам нужно будет посмотреть страницу ASP Classic, чтобы увидеть названия элементов сообщений, но в целом вы можете получить к ним доступ, как если бы вы вставили их со страницы .NET.

2 голосов
/ 23 апреля 2010

Это можно сделать и работает нормально. Вы получите доступ к значениям опубликованной формы, как вы сказали через Request.Form.

Я думаю, что самое большое предостережение в том, что вам нужно каким-то образом обрабатывать недействительные данные - обычно с веб-формой страница .aspx будет снова отображаться с ошибками проверки, но это, вероятно, не подходит для ваших обстоятельств. Возможно, вам нужно будет перенаправить их обратно на страницу .asp с параметрами строки запроса, указывающими на сбои, и странице потребуется код, позволяющий заполнять поля формы их предыдущими значениями и отображать сообщение об ошибке.

2 голосов
/ 23 апреля 2010

Как насчет вызова веб-службы ASP.NET из классического asp?

http://www.4guysfromrolla.com/webtech/070302-1.shtml

...