html-форма входа не работает - PullRequest
0 голосов
/ 16 марта 2010

У меня есть дочерняя страница LoginContent.aspx, которая содержит форму входа. Если пользователь входит в систему, он должен быть перенаправлен на мою страницу Welcome.aspx. Но если я нажимаю кнопку входа, страница просто перезагружается, ничего не происходит. Код на этой странице пуст. И LoginContent.aspx, и Welcome.aspx являются дочерними формами одной главной страницы.

<form method="post" action="~/Welcome.aspx">
    Username: <input type="text" name="username" size="15" /><br />
    Password: <input type="password" name="passwort" size="15" /><br />
<input type="submit" value="Login"/></p>
</form>

Я знаю, что мог бы использовать контроль входа в систему asp.net, но я хочу больше контроля над вещами.

Ответы [ 2 ]

1 голос
/ 16 марта 2010

Вы не можете иметь вложенную форму внутри страницы aspx.

ОБНОВЛЕНИЕ:

Поскольку веб-форма ASP.NET не позволяет нам иметь несколько форм на одной странице aspx, поэтому, чтобы она работала, выполните следующее:

  1. Удалить тег формы
  2. добавить сервер runat к
  3. перенаправление ввода на стороне сервера

.

Username: <input type="text" name="username" size="15" runat=server /><br/>
Password: <input type="password" name="passwort" size="15" runat=server /><br/>
<input type="submit" value="Login" runat=server onclick="submit_onclick" /></p>

А в коде позади:

protected void submit_onclick(object sender, Event e)
{
   // do some auth stuff here
   Response.Redirect("~/welcome.aspx");
}

Надеюсь, это ответит на ваш вопрос ..:)

0 голосов
/ 16 марта 2010

Если ваш <form> тег из вашего LoginContent.aspx вложен в ваш <form runat="server">, я бы попытался переместить его так, чтобы он находился вне формы на стороне сервера и посмотрел, работает ли он оттуда.

Возможно, стоит также отследить HTTP-запросы на панели «Сеть» Firebug , просто чтобы вы могли увидеть, действительно ли он выполняет HTTP-запрос POST к /Welcome.aspx - это может помочь точно определить, где проблема.

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