Вопрос

CheckPara - это моя процедура привязки к данным

SqlDataSource1 - это ObjectDataSource (это только сбивающее с толку название)

Язык немерянный, но если вы знаете C #, вы сможете легко его прочитать

  protected virtual CheckPara(_ : object,  _ : System.EventArgs) : void
      {
        foreach(x is Parameter in SqlDataSource1.SelectParameters)
            when(x.DefaultValue=="") //Cancel binding
      }

итак, как я могу отменить привязку, если нет полностью сконфигурированного ObjectDataSource?

Или...как я могу запустить привязку только после того, как я выполнил все параметры?

Это было полезно?

Решение

Используйте событие Selecting ObjectDataSource, поместите цикл for select, и если вы хотите отменить его привязку, используйте e.Cacnel = true, и все готово!

Другие советы

ASP.NET по умолчанию не привязывается.Ты должен позвонить DataBind.Зовущий Page.DataBind вызовет все элементы управления DataBind способ.Поэтому просто вызовите свой элемент управления DataBind когда будете готовы.Обычно я не звоню Page.DataBind при использовании ObjectDataSource.

Если вы объявили о ObjectDataSource на вашей странице веб-формы (aspx) элемент управления DataBind метод вызывается сразу после выполнения Page.Load событие и до того, как элемент управления Load событие.Тот Самый ObjectCreating и ObjectCreated события могут быть вам полезны.Ниже приведен пример, который задает строку подключения бизнес-объекта.


<asp:ObjectDataSource 
    ID="__definitionCategoryDataSource" 
    runat="server" 
    OldValuesParameterFormatString="original_{0}" 
    SelectMethod="GetData" 
    TypeName="Missico.Data.DefinitionDataSetTableAdapters.DefinitionCategoryTableAdapter">
</asp:ObjectDataSource>

Protected Sub __definitionCategoryDataSource_ObjectCreated( _
    ByVal sender As Object, _
    ByVal e As System.Web.UI.WebControls.ObjectDataSourceEventArgs) _
    Handles __definitionCategoryDataSource.ObjectCreated

    If e.ObjectInstance IsNot Nothing Then
        SetObjectDataSourceConnectionString(e.ObjectInstance, DataManager.ConnectionString)
    End If

End Sub

Public Sub SetObjectDataSourceConnectionString( _
    ByVal objectInstance As Object, _
    ByVal connectionString As String)

    If objectInstance IsNot Nothing Then

        Dim oConnection As System.Data.Common.DbConnection

        oConnection = objectInstance.GetType.GetProperty("Connection").GetValue(objectInstance, Nothing)
        oConnection.ConnectionString = DataManager.ConnectionString

    End If

End Sub
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top