【问题标题】:I have created a HTML form but don't know what to put in the aspx.cs我创建了一个 HTML 表单,但不知道在 aspx.cs 中放什么
【发布时间】:2015-11-16 15:25:28
【问题描述】:

我创建了一个 HTML 表单,但不知道在 aspx.cs 中输入什么。 我已经在Page_load 部分写了这个,但不确定提交以及nameaddress 部分。

html

    <asp:Label ID="Name" runat="server" Text="Name" Width="150px"></asp:Label>
    <asp:TextBox ID="TextBox1" runat="server" OnTextChanged="TextBox1_TextChanged" Width="200px"></asp:TextBox>
    <br />
    <br />
    <asp:Label ID="Address" runat="server" Height="50px" Text="Address" Width="150px"></asp:Label>
    <asp:TextBox ID="TextBox2" runat="server" Height="50px" OnTextChanged="TextBox2_TextChanged" Width="400px"></asp:TextBox>
    <br />
    <br />
 &nbsp;&nbsp;
    <br />
    <asp:Button ID="Save" runat="server" Text="Submit" OnClick="Button1_Click" />

aspx.cs

protected void Page_Load(object sender, EventArgs e)
{
     Response.Write(Request.Form.Get("text"));
}

protected void TextBox1_TextChanged(object sender, EventArgs e)
{
       ??name
}

protected void TextBox2_TextChanged(object sender, EventArgs e)
{
       ??Address
}
protected void Button1_Click(object sender, EventArgs e)
{
       ??Submit
}

public partial class bookings : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Response.Write(Request.Form.Get("text"));
    }
}

【问题讨论】:

  • 你想通过这个屏幕/表单实现什么??
  • 这取决于你想要达到什么,但怀疑你是否会使用 TextChanged 事件。您很可能只会使用 OnClick 事件来处理数据
  • @TejuMB 它是一个表单,我希望它发布到服务器
  • @Dave 我有表单和 ASPX 页面我需要知道 aspx.cs 页面的编码
  • 如果你想验证或保存到数据库中,你必须学习ADO.NET来执行这样的操作。

标签: c# html asp.net


【解决方案1】:

这是一个非常基本的问题,您可以在谷歌搜索时找到很多方法。

无论如何,您可以编写此按钮事件来保存数据,前提是您的服务器、数据库和登录凭据。

 protected void Button1_Click(object sender, EventArgs e)
    {
           string connectionString = "Persist Security Info=False;User ID=sa;Password=123;Initial Catalog=AddressBook;Server=abc-PC";    
    using (SqlConnection connection = new SqlConnection(connectionString))
        {
            SqlCommand cmd = new SqlCommand("INSERT INTO tblName ([Name], Address) VALUES (@Name, @Address)");
            cmd.CommandType = CommandType.Text;
            cmd.Connection = connection;
            cmd.Parameters.AddWithValue("@Name", txtName.Text);
            cmd.Parameters.AddWithValue("@Address", txtAddress.Text);
            connection.Open();
            cmd.ExecuteNonQuery();
        }     
    }

Complete video is here

【讨论】:

    【解决方案2】:

    在您的按钮单击处理程序中,您可以检查页面上文本框的值。您将不需要 TextBox_TextChanged 处理程序。这是您的 Button_Click 处理程序:

    protected void Button1_Click(object sender, EventArgs e)
    {
       string name = TextBox1.Text;
       string address = TextBox2.Text;
    
       // Do something with your strings...
       Response.Write("Your name is : " + name + "<br />");
       Response.Write("Your address : " + address);
    }
    

    【讨论】:

    • protected void TextBox1_TextChanged(object sender, EventArgs e) { Response.Write("name") } protected void TextBox2_TextChanged(object sender, EventArgs e) { Response.Write("address") } protected void Button1_Click(object sender, EventArgs e) { string name = TextBox1.Text;字符串地址 = TextBox2.Text; // 用你的字符串做点什么... }
    • 我已经编辑了我的答案,以演示一种简单的方法来模仿访问者的回复。一个更优雅的解决方案可能是在页面上添加一个标签并使用它来包含您的响应。
    【解决方案3】:

    当您使用 POST 方法时,您将表单中 HTML 控件的值发送到 action 属性中指定的页面。为此,请按以下步骤操作:

    1. 创建一个新的 .htm 页面并将其命名为 Gatherdata_post.htm。要在 Visual InterDev 6.0 版中执行此操作,请右键单击项目资源管理器中的项目节点,单击添加,单击 HTML 页面,键入 Gatherdata_post.htm 作为页面名称,然后单击打开。

    2. 在新页面中粘贴以下代码:注意:您应该清除最初创建页面时 InterDev 添加的默认代码,然后再将此代码粘贴到页面中。否则,您将有多余的标签。

    <html>
    <head>
    </head>
    <body>
    <FORM action="RetrieveData_Post.asp" id=form1 method=post name=form1>
    	First Name:
    	<br>
    	<INPUT id="txtFirstName" name="txtFirstName" >
    	<br>
    	Last Name:
    	<br>
    	<INPUT id="txtLastName" name="txtLastName" >
    	<br>
    	<INPUT type="submit" value="Submit"> 
    </FORM>
    </body>
    </html>
    	
    1. 保存页面。为此,请单击 Visual InterDev IDE 中文件菜单上的保存 Gatherdata_post.htm。

    2. 创建另一个名为 Retrievedata_post.asp 的页面。将以下代码粘贴到页面中,并保存页面:

    <%@ Language=VBScript %>
    <html>
    <head>
    </head>
    <body>
    <%
    Response.Write("First Name: " & Request.Form("txtFirstName") & "<br>")
    Response.Write("Last Name: " & Request.Form("txtLastName") & "<br>")
    %>
    </body>
    </html>
    1. 通过右键单击页面并选择在浏览器中查看来运行 Gatherdata_post.htm。输入名字和姓氏的一些值,然后单击提交。请注意,您在 Getdata_post.htm 中输入的数据已通过 HTTP POST 发送到 Retrievedata_post.asp 页面,以便使用 Request.Form 集合进行检索。

    当您使用 GET 方法时,您将表单中 HTML 控件的值发送到 action 属性中指定的页面,其方式类似于前面描述的 POST 方法。但是,您会注意到这些值是在 QueryString 中发送的。使用 GET 而不是 POST 时要考虑的一个主要问题是这些值在 URL 中是可见的。

    要使用 GET 方法,请按以下步骤操作:

    1. 创建一个新的 .htm 页面并将其命名为 Gatherdata_get.htm。要在 Visual InterDev 6.0 版中执行此操作,请右键单击项目资源管理器中的项目节点,单击添加,单击 HTML 页面,键入 Gatherdata_get.htm 作为页面名称,然后单击打开。

    2. 在新页面中粘贴以下代码:注意:您应该清除最初创建页面时 InterDev 添加的默认代码,然后再将此代码粘贴到页面中。否则,您将有多余的标签。

    <html>
    <head>
    </head>
    <body>
    <FORM action="RetrieveData_Get.asp" id=form1 method=GET name=form1>
    	First Name:
    	<br>
    	<INPUT id="txtFirstName" name="txtFirstName" >
    	<br>
    	Last Name:
    	<br>
    	<INPUT id="txtLastName" name="txtLastName" >
    	<br>
    	<INPUT type="submit" value="Submit" id=submit1 name=submit1> 
    </FORM>
    </body>
    </html>
    1. 保存页面。为此,请单击 Visual InterDev IDE 中文件菜单上的保存 Gatherdata_get.htm。

    2. 创建另一个名为 Retrievedata_get.asp 的页面。将以下代码粘贴到页面中,并保存页面:

    <%@ Language=VBScript %>
    <html>
    <head>
    </head>
    <body>
    <%
    Response.Write("First Name: " & Request.QueryString("txtFirstName") & "<br>")
    Response.Write("Last Name: " & Request.QueryString("txtLastName") & "<br>")
    %>
    </body>
    </html>
    		

    5.通过右键单击页面并选择在浏览器中查看来运行 Gatherdata_get.htm。输入名字和姓氏的一些值,然后单击提交。请注意,在 Getdata_get.htm 中输入的数据通过 GET 发送到 Retrievedata_get.asp 页,以便使用 Request.QueryString 集合进行检索。如您所见,当您使用 GET 作为发送页面的操作时,QueryString 集合是您的数据可供检索 ASP 页面使用的地方,而当您实现 POST 时,Form 集合用于检索数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多