Опубликовать форму из asp в asp.Net
У меня есть классическое приложение asp. Я хочу опубликовать форму конкурса с этой страницы в форму Asp.Net. Причина в том, что я хочу использовать много логики, которую я встроил в страницу Asp.Net для проверки перед входом в базу данных, и я не очень хорошо знаю asp. Не говоря уже о том, что asp.Net более безопасен.
Как лучше всего достичь этой цели? Мои мысли таковы:
Моя страница Асп:
<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 ответа
Это можно сделать и работает нормально. Вы получите доступ к значениям опубликованной формы, как вы сказали через Request.Form.
Я думаю, что самое большое предостережение заключается в том, что вам нужно каким-то образом обрабатывать недействительные данные - обычно с помощью веб-формы страница.aspx будет снова отображаться с ошибками проверки, но это, вероятно, не подходит для ваших обстоятельств. Возможно, вам нужно будет перенаправить их обратно на страницу.asp с параметрами строки запроса, указывающими на сбои, и странице потребуется код, позволяющий заполнить поля формы их предыдущими значениями и отобразить сообщение об ошибке.
Да, это возможно. В общем, POST - это POST. Так что вы можете публиковать со страницы PHP на страницу.NET, если хотите. Вы бы получили доступ к Request.Form
переменные, как вы делаете сейчас. Вам нужно будет посмотреть страницу ASP Classic, чтобы увидеть названия элементов сообщений, но в целом вы можете получить к ним доступ, как если бы вы вставляли их со страницы.NET.
Как насчет вызова веб-службы ASP.NET из классического ASP?