参数与ObjectDataSource控件

本文关键字:控件 ObjectDataSource 参数 | 更新日期: 2023-09-27 18:15:14

我有一个两层体系结构,这意味着我正在处理业务对象和DAL类。我的问题是:如何将值传递给DAL类中某个函数的参数。

我正在使用gridview(在那里我显示基本信息)和formview(当您单击gridview中的选择按钮时显示单个记录的所有信息)。

这是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,我只是不知道怎么做。有人愿意帮我吗?:)

提前感谢。H.S.

参数与ObjectDataSource控件

您可以使用ObjectDataSource。SelectParameters财产。

这篇msdn文章描述了如何使用参数-在ObjectDataSource控件中使用参数

您可以使用以下方法添加要传递给select方法的参数

  <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>