首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

大家一个有点纠结的有关问题哈 ~

2012-04-27 
求助大家一个有点纠结的问题哈 ~~[aligncenter]首先是我写了一个动态生成控件的方法createCtrl(),然后在

求助大家一个有点纠结的问题哈 ~~
[align=center]首先是我写了一个动态生成控件的方法createCtrl(),
然后在保存按钮的服务器事件下会引用这个控件也就是findControl(),
于是我只能把createCtrl()这个方法写在回发(ispostback)事件外面 要不就找不到。
但是在page_load里面的某个方法也要通过findControl()的方法来引用这个方法。
把createCtrl()下在回发(ispostback)外面的话page_load里面的这个方法又找不到这些动态生成的控件了。。

求破 !![/align]


[解决办法]
看不懂 可以详细点?
[解决办法]
第一次加载页面时,先创建控件
[解决办法]
可以使用 页面查找控件方式

Button 控件名= this.Page.FindControl("控件名") as Button;
[解决办法]
方法1. 定义公共变量,动态创建控件后,赋值给公共变量
方法2. 给控件设置属性
[解决办法]
定义一个控件的全局变量比如 GridView dg=new GridView();

createCtrl()方法既是返回GridView控件也是创建Gridview控件的函数

每需要用到它时都调用一遍即可。如
private GridView createCtrl()
{
if(dg==null)
{
dg=new GridView;
dg.....设置属性
}
return dg;
}
[解决办法]

C# code
protected void Page_Load(object sender, EventArgs e){            createCtrl();//createCtrl写在Page_Load的最上面,且只能放在if(!IsPosiBack)外面            //在下面可以用findControl调用控件            if (!IsPostBack)            {            }}
[解决办法]
ajax试试

热点排行