. text不能在.aspx.cs文件中工作

本文关键字:文件 工作 cs aspx 不能 text | 更新日期: 2023-09-27 18:07:48

下面是我的部分代码:

//adding parameters with value cmd.Parameters.AddWithValue("@Username", d.Text); cmd.Parameters.AddWithValue("@Password", e.Text);

下面是相关的。aspx代码

<tr align= "center"><td class="style1">Username : 
    <asp:TextBox ID="d" runat="server"></asp:TextBox>
                </td></tr>
<tr align ="center"><td class="style3">Password : 
    <asp:TextBox ID="e" TextMode="password" runat="server"></asp:TextBox>
                </td></tr>

第一个。text命令没有错误信息。但是对于第二行,有一个错误消息:

Error   1   'System.EventArgs' does not contain a definition for 'Text' and no extension method 'Text' accepting a first argument of type 'System.EventArgs' could be found (are you missing a using directive or an assembly reference?)

我不明白为什么。

. text不能在.aspx.cs文件中工作

我猜你的事件处理程序和控件名称是相同的。

将控件的名称更改为例如eTextBox,它将工作。同时将事件处理程序中的引用更改为eTextBox.Text

另一种可能性是使用this关键字:
private void Button1_Click(object sender, EventArgs e)
{
    // use this.
    string s = this.e.Text;
}

我怀疑:

 cmd.Parameters.AddWithValue("@Username", d.Text);
 cmd.Parameters.AddWithValue("@Password", e.Text);

包含在以EventArgs e为参数的事件中。

事件参数有作用域而不是你的文本框

将文本框命名为其他名称。给控件起这样模棱两可的名字

是很糟糕的做法。

您几乎肯定已经覆盖了将EventArgs e作为方法签名的方法中的文本框变量。使用this来限定您想要的类变量e,或者更好的是,给您的TextBox一个体面的名称,并完全避免这个问题。

 void SomeBtn_Click(Object sender,
                       EventArgs e)
 {
       // Other code ....
       cmd.Parameters.AddWithValue("@Password", this.e.Text);
 }
相关文章: