gpt4 book ai didi

c# - 这是我们可以强制 ObjectDataSource 进行……的唯一方法吗?

转载 作者:行者123 更新时间:2023-11-30 22:49:15 24 4
gpt4 key购买 nike

问候,


1) 我假设 ObjectDataSource 仅在第一次请求时自动绑定(bind)到数据源,而不是在回发时(否则 ObjectDataSource.Selecting 事件也会在回发时触发,但是它不是):

A) 因此,强制 ObjectDataSource 也绑定(bind)回发的唯一方法是手动调用 DataBind()


2) 假设 DropDownList1DataSourceID 设置为 ObjectDataSource1 ,那么第一次加载页面时,ObjectDataSource1 将自动调用 DropDownList1.DataBind()(在 Page.PreRender 事件之后)并插入检索到的数据。


A) 但是如果我们在首次加载页面时手动调用 DropDownList1.DataBind() 会怎样:

protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack) DropDownList1.DataBind();
}


ObjectDataSource1 是否会以某种方式注意到 DropDownList1.DataBind() 已被调用,因此不会自动调用 DropDownList1.DataBind()


B) 通常 ObjectDataSource1.Selecting 事件在 Page.Prerender 事件之后触发。但是如果在内部调用 DropDownList1.DataBind() 会怎样Page_Load()?

在这种情况下,ObjectDataSource1.Selecting 事件会在 Page.PreRender 之前触发吗?


谢谢

最佳答案

在那种情况下,ObjectDataSource1.Selecting 事件会在 Page.PreRender 之前触发吗?
是的,它在 Page.PreRender 之前被调用。
原因:每个设置了DataSourceID属性的数据绑定(bind)控件在prerender事件中调用它的DataBind方法,

检查页面生命周期 http://msdn.microsoft.com/en-us/library/ms178472.aspx

http://dotnetshoutout.com/Data-Binding-Events-for-Data-Bound-Controls-in-ASPNet

由于加载事件在预渲染之前被调用,并且当调用数据绑定(bind)方法时,在您的情况下对象数据源选择的事件在预渲染之前被触发

关于c# - 这是我们可以强制 ObjectDataSource 进行……的唯一方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1262220/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com