我正在使用一个aspx文件作为我的主页,其中包含以下代码片段:
<input type="text" runat="server" id="Password" />
<asp:Button runat="server" id="SavePassword"
Text="Save" OnClick="SavePassword_Click"/>
然后在我使用的代码后面
:protected void SavePassword_Click(object sender, EventArgs e)
{
string a = Password.Value.ToString();
}
在Page_Load中设置 Password.Value 按预期工作,但将 a 设置为值会导致 a 中的空字符串,无论我在页面上键入什么,我都单击保存按钮。
我在这里忽略了什么吗?
你应该像这样添加带有名称标签标签的标签字段在aspx页面中显示
<asp:Label ID="labelShow" runat="server"></asp:Label>
然后将字符串添加到.cs文件中
protected void SavePassword_Click(object sender, EventArgs e)
{
string a = Password.Value.ToString();
labelShow.Text = a.ToString();
}
我可以找出几个错误:
-
你说一些关于Page_Load的事情。您应该始终记住Page_Load在每次回发时执行。因此,如果您在Page_Load的文本框中写入某些内容,它将删除用户键入的值。您可以通过验证来更改此行为
if(!IsPostBack) { // Your code }
围绕您的Page_Load内容。
-
input runat="server"
不是在 ASP.Net 中执行文本框的正确方法,在大多数情况下,您应该使用asp:TextBox
-
您不对"a"字符串执行任何操作,无论 Password 字段是否正确发布,您当前的代码示例都不执行任何操作。您可以按照 Ravi 在他的答案中的建议进行操作来显示它。
我建议您学习如何使用VS调试器,并阅读有关Webforms ASP.Net 的好课程来学习它。