Доступ к форме в asp.NET C#

#asp.net #html #xhtml

#asp.net #HTML #xhtml

Вопрос:

Все примеры, которые я могу найти, находятся на Visual Basic, но я использую C #. Я хочу получить данные, которые находятся в текстовом поле в форме. Мой код пока:

 <form action="login.aspx" method="get">
    <p>Username: <input type="text" name="username" /></p>
    <p>Password: <input type="text" name="password" /></p>
    <input type="submit" value="Submit" />
</form>
  

Итак, что я мог сделать? Потому что мне постоянно говорят сделать это:

 Dim UserName
UserName = Request.Form("UserName")
  

Но это не работает на C #.

Комментарии:

1. Кстати, я ЗНАЮ, что это Visual Basic. Вот почему я опубликовал это. Разные сайты постоянно советуют мне использовать это, но мой сайт написан на C #.

Ответ №1:

Не нужно делать это на asp.net ; просто измените свою разметку следующим образом:

 <form action="login.aspx" method="post" runat="server">
    <p>Username: <input type="text" name="username" runat="server" id="txtUsername" /></p>
    <p>Password: <input type="text" name="password" runat="server" id="txtPassword"/></p>
    <input type="submit" value="Submit" />
</form>
  

И к коду, лежащему в основе:

 string UserName= txtUsername.Value;
  

И да, Шон тоже нашел хорошую идею, вам следует использовать POST .

Комментарии:

1. Вероятно, там тоже нужен runat="server" .

2. @DavidLively правильно! спасибо за исправление. Обновил мою разметку.

Ответ №2:

Вашим методом должен быть POST .

 <form action="login.aspx" method="post">
  

Ответ №3:

Опубликованный вами пример кода является vb.net . C # имеет свой собственный синтаксис и ключевые слова.

чтобы получить значение, вы можете использовать следующее (не оптимальное решение для webforms)

 string userName = Request.Form["UserName"];
  

Я бы посоветовал ознакомиться с некоторыми руководствами по c #, чтобы разобраться в языке. Вот первая, которую я нашел http://www.csharp-station.com/Tutorial.aspx