C# 如何重新获取表单数据?
我试图在一些表单值发布后重新获取它们,但遇到了相当大的困难。我的表单有两个字段:C# 如何重新获取表单数据?,c#,asp.net,C#,Asp.net,我试图在一些表单值发布后重新获取它们,但遇到了相当大的困难。我的表单有两个字段: <strong>Username:</strong> <asp:TextBox ID="txtUsername" runat="server" Width="200px" /><br /><br /> <strong>Password:</strong> <asp:TextBox ID="txtPassword" runat=
<strong>Username:</strong> <asp:TextBox ID="txtUsername" runat="server" Width="200px" /><br /><br />
<strong>Password:</strong> <asp:TextBox ID="txtPassword" runat="server" Width="200px" TextMode="Password" />
我遗漏了什么?首先要检查这是否是一篇文章,您可以通过以下内容进行检查:
if (IsPostback) { //do something here }
您将看到,如果在同一页上完成,则将无法工作,因为它会自动发布。当您在同一页中单击按钮时,数据通常保存在viewstate中。因此,在提供更多信息之前,我们需要了解有关它的更多信息,以便更好地帮助您。没有看到.aspx页的其余部分,这里没有明显的错误,但是:
- 文本框是否在带有runat=“server”的表单中
- 您是否运行过跟踪以查看表单变量(如果有)包含哪些内容
- 您确定页面正在提交,而不仅仅是刷新吗
- 您是否尝试过使用断点来查看if条件的计算结果是否为true(类似于上面的点)
- 我认为您可以在提交表单的按钮中添加onclick=,因为文本框在服务器上运行。在等号之后,如果按tab键两次,它将在代码隐藏中自动生成一个事件。然后,您可以在代码隐藏中执行类似的操作,将其保存在会话中
string firstName = txtUsername.Text;
string lastName = txtPassword.Text;
Session["FirstName"] = firstName;
Session["LastName"] = lastName;
并在以后访问它
string firstName = Session["FirstName"];
你的代码对我来说非常好: ASPX:
string firstName = Session["FirstName"];
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs"
Inherits="_Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" id="MainHTML" runat="server">
<head runat="server">
<title></title>
<script type="text/javascript">
</script>
</head>
<body>
<form runat="server">
<strong>Username:</strong> <asp:TextBox ID="txtUsername" runat="server" Width="200px" /><br /><br />
<strong>Password:</strong> <asp:TextBox ID="txtPassword" runat="server" Width="200px" TextMode="Password" />
<asp:Button ID="Button1" runat="server" Text="Button" />
</form>
</body>
</html>
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (HttpContext.Current.Request.HttpMethod == "POST")
{
txtUsername.Text = Request.Form["txtUsername"];
}
}
}