如何在函数或类中引用页面上的asp.net控件。
private void PageLoad(object sender, EventArgs e)
{
//An example control from my page is txtUserName
ChangeText(ref txtUserName, "Hello World");
}
private void ChangeText(ref HtmlGenericControl control, string text)
{
control.InnerText = text;
}
这实际上会改变txtUserName控件的文本吗?
我试过这个并且正在工作
private void PageLoad(object sender, EventArgs e)
{
ChangeText(txtUserName, "Hello World");
}
private void ChangeText(TextBox control, string text)
{
control.Text = text;
}
答案 0 :(得分:2)
是的,假设它处于页面生命周期中的适当位置,它应该在之后没有其他任何混淆。 (我不知道ASP.NET生命周期的细节。
然而,值得一提的是,绝对没有理由在此引用它。它表明你没有完全理解.NET中的参数传递 - 我建议你阅读my article on it - 一旦你理解了(和参考/值类型的区别),各种事情可能会变得更容易。
当然,如果你已经尝试问题中给出的代码并发现它不起作用,请提供更多详细信息。根据{{1}}的类型,甚至可能是 with txtUserName
它不会编译,但没有 ref
它只会工作。
答案 1 :(得分:0)
除非我遗漏了什么,否则你需要做的就是:
private void PageLoad(object sender, EventArgs e)
{
txtUserName.Text = "Hello World";
}