C# - параметры с помощью ObjectDataSource Control

У меня есть двухуровневая архитектура, что означает, что я работаю с бизнес-объектами и классами DAL. Мой вопрос: как передать значение параметрам одной из функций в классе DAL.

Я работаю с видом сетки (где я отображаю важную информацию) и видом формы (где вся информация об одной записи отображается при нажатии кнопки выбора в виде сетки).

это функция в моем классе DAL:

    [DataObjectMethodAttribute(DataObjectMethodType.Select, true)]
    public static Inschrijving GetInschrijvingById(int id)
    {
        Inschrijving inschrijving = new Inschrijving();

        SqlConnection conn = new SqlConnection(GetConnectionString());
        string sql =
          "SELECT * FROM tblInschrijvingen WHERE ID = @id";

        SqlCommand cmd = new SqlCommand(sql, conn);
        conn.Open();
        SqlDataReader dr = cmd.ExecuteReader();

        while (dr.Read())
        {
            inschrijving.Id = Convert.ToInt32(dr["ID"]);
            inschrijving.Naam = dr["NAAM"].ToString();
            inschrijving.Geslacht = dr["GESLACHT"].ToString();
            inschrijving.Straat = dr["STRAAT"].ToString();
            inschrijving.Postcode = Convert.ToInt32(dr["PC"]);
            inschrijving.Gemeente = dr["PLAATS"].ToString();
            inschrijving.Geboortedatum = (DateTime) dr["GBDATUM"];
            inschrijving.Tshirt = dr["TSHIRT"].ToString();
            inschrijving.Afstand = DAL.AfstandDAL.getAfstandByID(Convert.ToInt32(dr["ID_AFSTAND"]));
            inschrijving.Email = dr["EMAIL"].ToString();
            inschrijving.InschrijvingsDatum = (DateTime)dr["INDATUM"];
            inschrijving.Betaald = Convert.ToBoolean(dr["BETAALD"]);
        }

        return inschrijving;
    }

И у меня есть этот источник данных:

<asp:ObjectDataSource ID="dtsrcDetails" runat="server" SelectMethod="getInschrijvingById" OldValuesParameterFormatString="original_{0}" TypeName="DAL.InschrijvingDAL" DataObjectTypeName="BO.Inschrijving"></asp:ObjectDataSource>

Я знаю, что должен добавить несколько SelectParameter, я просто не знаю как. Кто-нибудь, кто готов мне помочь?:)

Заранее спасибо. HS

2 ответа

Вы можете использовать следующий метод, чтобы добавить параметры для передачи в метод выбора

  <asp:ObjectDataSource ID="dtsrcDetails" runat="server" SelectMethod="getInschrijvingById" OldValuesParameterFormatString="original_{0}" TypeName="DAL.InschrijvingDAL" DataObjectTypeName="BO.Inschrijving"><SelectParameters>
    <asp:Parameter Name="id" />  
  </SelectParameters>
</asp:ObjectDataSource>

Вы можете использовать свойство ObjectDataSource.SelectParameters.

В этой статье MSDN описывается, как использовать параметры - Использование параметров с элементом управления ObjectDataSource

Другие вопросы по тегам