【发布时间】:2015-06-14 10:01:20
【问题描述】:
我已经使用文本框和按钮控件制作了搜索框来搜索我的 GridView 中的数据,对于我使用 ObjectDataSource 的数据源。在 ObjectDataSource 类中,我使用参数化过程从数据库表中选择数据,但是这里出现了问题,ObjectDataSource 期望参数类的值。我已经通过硬编码类解决了这个问题,如果它为空给参数值等于空白,它工作得很好。
如果有另一种方法可以解决这个问题而无需对课程进行硬编码,任何答案都会有所帮助,谢谢
这是我的 ObjectDataSource 选择类
public static List<T_Penerbit> GetSearchPenerbit(string Cari)
{
if (string.IsNullOrWhiteSpace(Cari))
{
Cari = " ";
}
List<T_Penerbit> listSearchPenerbit = new List<T_Penerbit>();
string cs = ConfigurationManager.ConnectionStrings["cs_perpustakaan"].ConnectionString;
using (SqlConnection con = new SqlConnection(cs))
{
SqlCommand cmd = new SqlCommand("spGetPenerbitBySearch", con);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter paramSearch = new SqlParameter("@parameter", Cari);
cmd.Parameters.Add(paramSearch);
con.Open();
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
T_Penerbit penerbit = new T_Penerbit();
penerbit.ID = Convert.ToInt32(rdr["ID"]);
penerbit.Penerbit = rdr["Nama_Penerbit"].ToString();
penerbit.Kota = rdr["Kota"].ToString();
penerbit.Handphone = rdr["Handphone"].ToString();
penerbit.Email = rdr["Email"].ToString();
listSearchPenerbit.Add(penerbit);
}
}
return listSearchPenerbit;
}
这是我的按钮搜索点击事件
protected void ButtonKelolaDataPenerbitCariPenerbit_Click(object sender, EventArgs e)
{
ObjectDataSourceCariDataPenerbit.SelectParameters.Clear();
ObjectDataSourceCariDataPenerbit.SelectParameters.Add("Cari", TextBoxKelolaDataPenerbitCariPenerbit.Text);
ObjectDataSourceCariDataPenerbit.DataBind();
}
【问题讨论】:
标签: c# asp.net search gridview