我有一个使用业务层使用objectdatasource.Objectdatasource的datalist。
dataworks.cs
public static List<Yorum> SerchYorumlariGetir(string tag)
{
List<Yorum> yorum_listesi = new List<Yorum>();
try
{
using (SqlConnection baglanti = new SqlConnection(dbconnect()))
{
SqlCommand komut = new SqlCommand("sp_search_yorum_getir", baglanti);
komut.CommandType = CommandType.StoredProcedure;
komut.Parameters.AddWithValue("@tag", tag);
Yorum yorum = default(Yorum);
baglanti.Open();
using (SqlDataReader dr = komut.ExecuteReader(CommandBehavior.CloseConnection))
{
while (dr.Read())
{
yorum = new Yorum();
yorum.Yorum_ID = dr.GetInt32(dr.GetOrdinal("comment_id"));
yorum.Post_ID = dr.GetInt32(dr.GetOrdinal("comment_post_id"));
yorum.User_ID = dr.GetGuid(dr.GetOrdinal("comment_user_id"));
yorum.Yorum_UserName = dr.GetString(dr.GetOrdinal("UserName"));
yorum.Yorum_Text = dr.GetString(dr.GetOrdinal("comment_text"));
yorum.Yorum_Like = dr.GetInt32(dr.GetOrdinal("comment_like"));
yorum.Yorum_Dislike = dr.GetInt32(dr.GetOrdinal("comment_dislike"));
yorum.Yorum_ReplyTo_ID = dr.GetInt32(dr.GetOrdinal("comment_reply_to_id"));
yorum.Yorum_Date = dr.GetDateTime(dr.GetOrdinal("comment_date"));
yorum.Yorum_Post_Etiket = dr.GetString(dr.GetOrdinal("post_etiket"));
yorum.Yorum_Profil_Foto_Kucuk = dr.GetString(dr.GetOrdinal("profil_foto_kucuk"));
yorum.Yorum_Profil_Foto_Buyuk = dr.GetString(dr.GetOrdinal("profil_foto_buyuk"));
yorum_listesi.Add(yorum);
}
dr.Close();
}
}
}
catch (Exception ex)
{
throw ex;
}
return yorum_listesi;
}
和yonet.cs
public static List<Yorum> TagYorum(string tag)
{
return data_works.SerchYorumlariGetir(tag);
}
和objectdatasource
<asp:ObjectDataSource ID="ods_search_yorumlar" runat="server" TypeName="yonet" SelectMethod="TagYorum">
<SelectParameters>
<asp:QueryStringParameter Type="String" QueryStringField="tag" />
</SelectParameters>
</asp:ObjectDataSource>
我在其他页面上使用此方法。并且没有错误,但在此页面上它抛出了这个错误:
ObjectDataSource 'ods_search_yorumlar' could not find a non-generic method 'TagYorum' that has no parameters.
我无法理解为什么会这样。
答案 0 :(得分:2)
您需要将Name
添加到QueryStringParameter
,这对应于您的函数的参数名称:
<asp:QueryStringParameter Type="String" DefaultValue="0"
QueryStringField="tag" Name="tag"/>