C # ASPX - запрос на отправку формы - PullRequest
0 голосов
/ 19 декабря 2011

У меня есть форма C # aspx, в которой мне нужно ввести эти данные в базу данных SQL, а затем вернуть ответ, говорящий об успешном или нет. Я понятия не имею, как получить данные формы, отправленные со страницы Default.aspx. Моя основная структура кода ниже:

Default.aspx

<form runat="server" name="aForm" action="Results.aspx" method="post" onsubmit="ValidateForm()">  
  <input name="firstname" type="text" />
  <input name="surname" type="text" />
  <input type="submit" value="Submit" />
</form>

Results.aspx.cs

public partial class AwardsForm : System.Web.UI.Page {

  protected void Page_Load(object sender, EventArgs e) {

    if (!this.IsPostBack){
        Response.Redirect("Default.aspx");
    } else (this.IsPostBack) {
        writeResults(FormSubmit()); 
    }

    protected boolean FormSubmit() {
      // get form data and insert it into SQL
      // return true/false based on success
    }

    protected void writeResults(boolean results) {
      if (results == true) {
        Response.Write ("Success");
      } else {
        Response.Write ("Failed");
      }
    }

}

Ответы [ 3 ]

4 голосов
/ 19 декабря 2011

Вы можете получить опубликованные данные формы через Request.Form["key"], или, если ваши элементы формы отмечены runat="server", вы сможете получить их по идентификатору прямо в вашем коде за

<asp:TextBox id="yourTb" runat="server"></asp:TextBox>

string postedText = yourTb.Text;

Или вы можете сделать (хотя это гораздо реже)

<input type="text" runat="server" id="yourOtherTb" />

string otherPostedText = yourOtherTb.Value;

Или, если вы работаете только с вводом HTML-форм:

<input type="text" id="clientTb" name="clientTb" />

string clientText = Request.Form["clientTb"];
1 голос
/ 19 декабря 2011

Поскольку вы делаете что-то подобное

 <input name="firstname" type="text" />
  <input name="surname" type="text" />
  <input type="submit" value="Submit" />

, атрибут name элементов управления вводом отправляется обратно на сервер (IIS).Следовательно, вы бы сделали это.

If(IsPostBack)
{
  string firstName = Request.Forms["firstname"];
  string surName = Request.Forms["surname"];

if(string.IsNullOrEmpty(firstName))
{
Response.Write("Firstname is required");
}
}
1 голос
/ 19 декабря 2011

Вы можете попробовать по следующему коду.

string firstname = Request.Form["firstname"]

string surname = Request.Form["surname"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...