我有一个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");
}
}
}
答案 0 :(得分:4)
您可以通过Request.Form["key"]
获取发布的表单数据,或者,如果您的表单元素使用runat="server"
进行修饰,那么您应该能够在代码后面的ID中抓取它们
<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 :(得分:1)
您可以尝试使用以下代码。
string firstname = Request.Form["firstname"]
string surname = Request.Form["surname"]
答案 2 :(得分:1)
因为你正在做这样的事情
<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");
}
}