CheckPara是我的OnDataBinding程序
SqlDataSource1是ObjectDataSource(它只是令人困惑的名字)
语言是Nemerle,但如果您了解C#,您可以轻松阅读
protected virtual CheckPara(_ : object, _ : System.EventArgs) : void
{
foreach(x is Parameter in SqlDataSource1.SelectParameters)
when(x.DefaultValue=="") //Cancel binding
}
那么当没有完全配置的ObjectDataSource时如何取消绑定?
或者......只有在完成所有参数后才能运行绑定?
答案 0 :(得分:3)
使用ObjectDataSource的Selecting事件,将你的for循环设置为select,如果你想取消绑定它,使用e.Cacnel = true就可以了!
答案 1 :(得分:1)
ASP.NET默认情况下不绑定。您必须致电DataBind
。致电Page.DataBind
会调用所有控件的DataBind
方法。因此,只需在准备好后调用控件的DataBind
即可。使用Page.DataBind
时,我通常不会致电ObjectDataSource
。
如果您在Web窗体(aspx)页面中声明了ObjectDataSource
,则在DataBind
事件之后和控件{{1}之前立即调用控件的Page.Load
方法事件。 Load
和ObjectCreating
事件可能会对您有所帮助。以下是设置业务对象的连接字符串的示例。
ObjectCreated
<asp:ObjectDataSource
ID="__definitionCategoryDataSource"
runat="server"
OldValuesParameterFormatString="original_{0}"
SelectMethod="GetData"
TypeName="Missico.Data.DefinitionDataSetTableAdapters.DefinitionCategoryTableAdapter">
</asp:ObjectDataSource>