自己写了个复合组件,其实就是扩展了一下DataList.
然后在A.aspx中动态调用组件,绑定数据,并将其添加到页面中. ( LoadControl 方法 )
-----------------------------------------------------------------------------现在的问题是,因为是动态加载组件,所以在页面回发时就必须再重新加载一次,
这样的话原来组件绑定的数据就丢失了.我是想知道有没有什么方法(不用单独去保存数据源),能让它像普通的DataList组件那样,
只要在 !IsPostBack 的时候绑定一次数据,以后就不用再重新绑定了?注意此组件是动态添加的...
相关代码
----------------------------------------------
UserDataSet.T_UserBaseInfoDataTable dt = null;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
UserDataSetTableAdapters.T_UserBaseInfoTableAdapter ppp = new UserDataSetTableAdapters.T_UserBaseInfoTableAdapter();
dt = ppp.GetData(string.Empty);
} PageControls_Page_Default aaa = this.LoadControl("~/PageControls/Page_Default.ascx") as PageControls_Page_Default;
aaa.datalist.DataSource = dt;
aaa.datalist.DataBind();
this.form1.Controls.Add(aaa);
}
然后在A.aspx中动态调用组件,绑定数据,并将其添加到页面中. ( LoadControl 方法 )
-----------------------------------------------------------------------------现在的问题是,因为是动态加载组件,所以在页面回发时就必须再重新加载一次,
这样的话原来组件绑定的数据就丢失了.我是想知道有没有什么方法(不用单独去保存数据源),能让它像普通的DataList组件那样,
只要在 !IsPostBack 的时候绑定一次数据,以后就不用再重新绑定了?注意此组件是动态添加的...
相关代码
----------------------------------------------
UserDataSet.T_UserBaseInfoDataTable dt = null;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
UserDataSetTableAdapters.T_UserBaseInfoTableAdapter ppp = new UserDataSetTableAdapters.T_UserBaseInfoTableAdapter();
dt = ppp.GetData(string.Empty);
} PageControls_Page_Default aaa = this.LoadControl("~/PageControls/Page_Default.ascx") as PageControls_Page_Default;
aaa.datalist.DataSource = dt;
aaa.datalist.DataBind();
this.form1.Controls.Add(aaa);
}
解决方案 »
- webService传对象的问题
- 新手求教大家 关于分页后ImageButton的ImageUrl属性显示问题
- ★★★送分快来抢★★★: 如何提高大字符串(是从文本文件读取出来的,有2M多)在网页中的显示速度?
- 网上考试倒计时
- javascript and beep()
- 关闭模式对话框同时刷新下面页面
- ASP.NET串口编程?
- 高手执教。。。关于xml文件改写为dataset的问题。。。
- 菜鸟的问题,如何连接带密码的access数据库
- 在xml文件中存入的是sql server数据库中的一张表的所有数据,如何在.net中访问这个xml文件?
- 使用file控件上传文件的问题!!
- 有一个 TextBox2 ,TextMode="Password" ,我想为其赋值,然后,想把值以 ***** 的形式显示出来,可是当 TextMode="Password" 时,赋值后
只要在 !IsPostBack 的时候绑定一次数据,以后就不用再重新绑定了
————————————————————————————————————————
asp.net内置的DataList有这个功能吗?举个例子讲解一下到底想要什么样子的功能?
----------------------
<asp:datalist id="d1" runat="server">
<itemTemplate>
...
</itemTemplate>
</asp:datalist>
<asp:button id="btn1" runat="server" text="Click" onclick="btnclick"/>----------------------
A.cs
----------------------
public void page_load(object sender ...)
{
if(!ispostback)
{
System.Data.DataTable dt = GetDataTable();
this.d1.datasource = dt;
this.d1.databind();
}
}public void btnclick(object sender ...)
{
}--------------------------------按照上面的写法,当页面按钮点击时,DataList中绑定的数据将保持原样无变化.但我现在想在代码中动态添加组件,并实现以上功能(当页面按钮点击时,DataList中绑定的数据将保持原样无变化).
protected void Page_Load(object sender, EventArgs e)
{
PageControls_Page_Default aaa = this.LoadControl("~/PageControls/Page_Default.ascx") as PageControls_Page_Default;
aaa.ID="myTestAscx";
this.form1.Controls.Add(aaa);
if (!IsPostBack)
{
UserDataSetTableAdapters.T_UserBaseInfoTableAdapter ppp = new UserDataSetTableAdapters.T_UserBaseInfoTableAdapter();
dt = ppp.GetData(string.Empty);
aaa.DataSource = dt;
aaa.DataBind();
}
}