我将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设置为该值都会导致一个空字符串。
我在这里俯瞰着什么吗?
答案 0 :(得分:0)
您应该像这样在aspx页面中添加名称为labelShow的标签字段
<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();
}
答案 1 :(得分:0)
我可以找出几个错误:
您说的是有关Page_Load的内容。您应该始终记住,每次回发都将执行Page_Load。因此,如果您在Page_Load的文本框中写入内容,它将删除用户键入的值。您可以通过验证
来更改此行为 if(!IsPostBack)
{
// Your code
}
围绕您的Page_Load内容。
input runat="server"
不是在ASP.Net中执行TextBox的正确方法,在大多数情况下,您应该使用asp:TextBox
无论您是否正确张贴了“密码”字段,您都不会对“ a”字符串执行任何操作,当前代码示例不执行任何操作。您可以按照拉维(Ravi)在其答案中的建议进行显示。
我建议您学习如何使用VS调试器,并阅读有关ASP.Net Webforms的很好的课程来学习它。