我想知道如何从我制作的单独类中访问页面控件。我尝试过使用谷歌发现的一些东西,但没有运气:(
我要做的是保留一个经常在全局类中使用的函数。
然后,该函数访问页面文字并调用ScriptManager.RegisterStartupScript。我希望这是可能的,所以这个函数不必复制到所有页面。
答案 0 :(得分:2)
我不确定我是否理解正确 - 如果没有,请发布一些示例代码。
如果你的页面为默认,后面的代码如下:
public partial class Default : System.Web.UI.Page
{
//Some methods
}
你可以创建一个这样的辅助类:
class Helpers
{
public static void YourHelperMethod(Default page)
{
//You can access your controls here like:
page.someLabelControl.Text = "Some text";
}
}
如果您希望它可以与所有页面一起使用,您可以像以下一样“找到”控件。但是,如果需要在所有页面上执行某些操作,则应使用母版页和代码。
class Helpers
{
public static void YourHelperMethod(Page page)
{
//You can access your controls here like:
Label label = page.FindControl("labelName") as Label;
if (label == null)
//The control could not be found
label.Text = "Some text";
}
}
答案 1 :(得分:0)
您的方法应接受Literal作为参数。使用要修改的标签调用方法。请注意,您尝试访问的文字必须在生命周期之前创建
答案 2 :(得分:0)
我不确定我是否理解你的任务。无论如何,如果你有一个Page对象和一个控件的名称,你应该访问,代码应该是:
class Helper
{
public static void SomeHelperMethod(Default page, string controlName)
{
Control control = page.Form.FindControl(controlName);
if(control != null) {
// your code here
}
}
}