System.Web.UI.WebControls.TextBox而不是www.example.com c# Web窗体中的文本框值asp.net

pnwntuvh  于 2023-02-26  发布在  .NET
关注(0)|答案(1)|浏览(115)

输出

有人能帮我一下吗?用户从文本框输入的数据应该显示出来。但是,我得到了这个System.Web.UI.WebControls.TextBox
webform1.aspx.cs

Response.Redirect("~/CORView.aspx?fname=" + firstname + "&lname=" + surname + "&idnumber=" + userid);

webform2.aspx.cs

lbl_id.Text = Request.QueryString["idnumber"];
lbl_fname.Text = Request.QueryString["fname"];
lbl_surname.Text = Request.QueryString["lname"];
qyzbxkaa

qyzbxkaa1#

好吧,假设你有这样的代码:

Response.Redirect("~/CORView.aspx?fname=" + 
firstname + "&lname=" + 
surname + "&idnumber=" + userid);

如果这些值“名”、“姓”、“用户ID?
这些是变量还是控制因素?
如果它们是控件,则不能传递整个控件,而只能传递此类控件的.Text属性。
因此,您需要这样的东西:

Response.Redirect("~/CORView.aspx?fname=" + 
firstname.Text + "&lname=" + 
surname.Text + "&idnumber=" + userid.Text);

现在,在上面我猜firstnme.Text和surname.Text来自控件,而第三个userid????如果这是一个普通的jane c#变量,那么你可能需要这个:

Response.Redirect("~/CORView.aspx?fname=" + 
firstname.Text + "&lname=" + 
surname.Text + "&idnumber=" + userid.ToString());

所以,你不能在一个简单的网页URL中传递“文本框”对象!(孩子,这不是很酷或很好吗???-但是,你只能在URL中传递文本字符串,而且你不能把整个文本框作为一个对象“传递”。
因此,您需要传递这些控件的.Text属性。
实际上,你看到的是:

Label1.Text = "hello world";
        Debug.Print(Label1.Text);
        Debug.Print(Label1.ToString());

输出:

hello world
System.Web.UI.WebControls.Label

因此,如果我们试图显示一个标签,比如上面的,那么我们不能使用Label 1,而必须使用Label1.Text。
这意味着编译器应该已经捕获了这个错误,但是可能有人在代码中,你将变量(作为对象)分配给控件对象,而不是control.Text值。

相关问题