急!!!数据源的类型无效 数据源的类型无效。它必须是 IListSource、IEnumerable 或 IDataSource。这是什么问题啊?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 if (!IsPostBack) { string name = Session["user"].ToString(); DetailsView1.DataSource = BusinessManager.GetNewsByBusiness_sName(name); }这是调用后的 public static Business_s GetNewsByBusiness_sName(string name) { string sql = "select * from Business where Business_sName=@Business_sName"; using (SqlDataReader reader = DBHelper.GetReader(sql, new SqlParameter("@Business_sName", name))) { if (reader.Read()) { Business_s bs = new Business_s(); bs.Region_iID = (int)reader["Region_iID"]; bs.Business_sName = (string)reader["Business_sName"]; bs.Business_sPWD = (string)reader["Business_sPWD"]; bs.Business_sCaption = (string)reader["Business_sCaption"]; bs.Business_sAdd = (string)reader["Business_sAdd"]; bs.Business_sTel = (string)reader["Business_sTel"]; bs.Business_sBus = (string)reader["Business_sBus"]; bs.Business_sDescription = (string)reader["Business_sDescription"]; bs.Business_iFirstFlag = (byte)reader["Business_iFirstFlag"]; bs.Business_iSecondFlag = (byte)reader["Business_iSecondFlag"]; bs.Business_iThreeFlag = (byte)reader["Business_iThreeFlag"]; bs.Business_iFourFlag = (byte)reader["Business_iFourFlag"]; bs.Business_iFiveFlag = (byte)reader["Business_iFiveFlag"]; bs.Business_iSixFlag = (byte)reader["Business_iSixFlag"]; bs.Business_dTime = (DateTime)reader["Business_dTime"]; bs.Business_sFullName = (string)reader["Business_sFullName"]; bs.Business_sContact = (string)reader["Business_sContact"]; bs.Business_sEmail = (string)reader["Business_sEmail"]; reader.Close(); return bs; } else { reader.Close(); return null; } } }这是方法 DetailsView1.DataSource = BusinessManager.GetNewsByBusiness_sName(name); 数据源指定错了! DetailsView1.DataSource 邦定的数据源必须是 IListSource、IEnumerable 或 IDataSource这些的也就是说Business_s这个类不能当作数据源进行邦定的 你只是返回了一个实体public static List<Business_s> GetNewsByBusiness_sName(string name) { string sql = "select * from Business where Business_sName=@Business_sName"; using (SqlDataReader reader = DBHelper.GetReader(sql, new SqlParameter("@Business_sName", name))) { while (reader.Read()) { Business_s bs = new Business_s(); bs.Region_iID = (int)reader["Region_iID"]; bs.Business_sName = (string)reader["Business_sName"]; bs.Business_sPWD = (string)reader["Business_sPWD"]; bs.Business_sCaption = (string)reader["Business_sCaption"]; bs.Business_sAdd = (string)reader["Business_sAdd"]; bs.Business_sTel = (string)reader["Business_sTel"]; bs.Business_sBus = (string)reader["Business_sBus"]; bs.Business_sDescription = (string)reader["Business_sDescription"]; bs.Business_iFirstFlag = (byte)reader["Business_iFirstFlag"]; bs.Business_iSecondFlag = (byte)reader["Business_iSecondFlag"]; bs.Business_iThreeFlag = (byte)reader["Business_iThreeFlag"]; bs.Business_iFourFlag = (byte)reader["Business_iFourFlag"]; bs.Business_iFiveFlag = (byte)reader["Business_iFiveFlag"]; bs.Business_iSixFlag = (byte)reader["Business_iSixFlag"]; bs.Business_dTime = (DateTime)reader["Business_dTime"]; bs.Business_sFullName = (string)reader["Business_sFullName"]; bs.Business_sContact = (string)reader["Business_sContact"]; bs.Business_sEmail = (string)reader["Business_sEmail"]; reader.Close(); return bs; } else { reader.Close(); return null; } } } 引用这个命名空间 using System.Collections.Generic; public static List<Business_s> GetNewsByBusiness_sName(string name) { List<Business_s> list = new List<Business_s>; string sql = "select * from Business where Business_sName=@Business_sName"; using (SqlDataReader reader = DBHelper.GetReader(sql, new SqlParameter("@Business_sName", name))) { while (reader.Read()) { Business_s bs = new Business_s(); bs.Region_iID = (int)reader["Region_iID"]; bs.Business_sName = (string)reader["Business_sName"]; bs.Business_sPWD = (string)reader["Business_sPWD"]; bs.Business_sCaption = (string)reader["Business_sCaption"]; bs.Business_sAdd = (string)reader["Business_sAdd"]; bs.Business_sTel = (string)reader["Business_sTel"]; bs.Business_sBus = (string)reader["Business_sBus"]; bs.Business_sDescription = (string)reader["Business_sDescription"]; bs.Business_iFirstFlag = (byte)reader["Business_iFirstFlag"]; bs.Business_iSecondFlag = (byte)reader["Business_iSecondFlag"]; bs.Business_iThreeFlag = (byte)reader["Business_iThreeFlag"]; bs.Business_iFourFlag = (byte)reader["Business_iFourFlag"]; bs.Business_iFiveFlag = (byte)reader["Business_iFiveFlag"]; bs.Business_iSixFlag = (byte)reader["Business_iSixFlag"]; bs.Business_dTime = (DateTime)reader["Business_dTime"]; bs.Business_sFullName = (string)reader["Business_sFullName"]; bs.Business_sContact = (string)reader["Business_sContact"]; bs.Business_sEmail = (string)reader["Business_sEmail"]; list.add(bs); reader.Close(); return list; } else { reader.Close(); return null; } } } 这样呢,BLL层的返回类型也是List<Business_s> 楼上的是正解。。完全正确。。而且很明白不是引用类错误,而是你返回的类型错了,datasource只能是集合类型的,而你是个实体 回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。 VS2008中tabItem视图模式中切换的问题 给 datagrid cell 添加系统右键菜单 c# 多线程进度条问题 求指教:C++与C#通信,C#发了消息,C++只有在调试状态才可以收到 有个问题请教 WPF中dialog的返回值获取问题 WPF,这个双向的MultiBinding绑定,反向为什么不见效 江湖救急!!!关于打印对话框中设置与实际打印出来不一致问题!!!请大家看一下!!! 请问C#如何控制CD-ROW光驱门的开关? 简单问题,今天一定结 工具栏保存按钮CTRL+S怎么保存弹出窗口的dataGridView数据 comboBox1 里面的文字怎么右对齐啊?
{
string name = Session["user"].ToString();
DetailsView1.DataSource = BusinessManager.GetNewsByBusiness_sName(name);
}
这是调用后的
{
string sql = "select * from Business where Business_sName=@Business_sName";
using (SqlDataReader reader = DBHelper.GetReader(sql, new SqlParameter("@Business_sName", name)))
{
if (reader.Read())
{
Business_s bs = new Business_s();
bs.Region_iID = (int)reader["Region_iID"];
bs.Business_sName = (string)reader["Business_sName"];
bs.Business_sPWD = (string)reader["Business_sPWD"];
bs.Business_sCaption = (string)reader["Business_sCaption"];
bs.Business_sAdd = (string)reader["Business_sAdd"];
bs.Business_sTel = (string)reader["Business_sTel"];
bs.Business_sBus = (string)reader["Business_sBus"];
bs.Business_sDescription = (string)reader["Business_sDescription"];
bs.Business_iFirstFlag = (byte)reader["Business_iFirstFlag"];
bs.Business_iSecondFlag = (byte)reader["Business_iSecondFlag"];
bs.Business_iThreeFlag = (byte)reader["Business_iThreeFlag"];
bs.Business_iFourFlag = (byte)reader["Business_iFourFlag"];
bs.Business_iFiveFlag = (byte)reader["Business_iFiveFlag"];
bs.Business_iSixFlag = (byte)reader["Business_iSixFlag"];
bs.Business_dTime = (DateTime)reader["Business_dTime"];
bs.Business_sFullName = (string)reader["Business_sFullName"];
bs.Business_sContact = (string)reader["Business_sContact"];
bs.Business_sEmail = (string)reader["Business_sEmail"];
reader.Close();
return bs;
}
else
{
reader.Close();
return null;
} }
}这是方法
也就是说Business_s这个类不能当作数据源进行邦定的
{
string sql = "select * from Business where Business_sName=@Business_sName";
using (SqlDataReader reader = DBHelper.GetReader(sql, new SqlParameter("@Business_sName", name)))
{
while (reader.Read())
{
Business_s bs = new Business_s();
bs.Region_iID = (int)reader["Region_iID"];
bs.Business_sName = (string)reader["Business_sName"];
bs.Business_sPWD = (string)reader["Business_sPWD"];
bs.Business_sCaption = (string)reader["Business_sCaption"];
bs.Business_sAdd = (string)reader["Business_sAdd"];
bs.Business_sTel = (string)reader["Business_sTel"];
bs.Business_sBus = (string)reader["Business_sBus"];
bs.Business_sDescription = (string)reader["Business_sDescription"];
bs.Business_iFirstFlag = (byte)reader["Business_iFirstFlag"];
bs.Business_iSecondFlag = (byte)reader["Business_iSecondFlag"];
bs.Business_iThreeFlag = (byte)reader["Business_iThreeFlag"];
bs.Business_iFourFlag = (byte)reader["Business_iFourFlag"];
bs.Business_iFiveFlag = (byte)reader["Business_iFiveFlag"];
bs.Business_iSixFlag = (byte)reader["Business_iSixFlag"];
bs.Business_dTime = (DateTime)reader["Business_dTime"];
bs.Business_sFullName = (string)reader["Business_sFullName"];
bs.Business_sContact = (string)reader["Business_sContact"];
bs.Business_sEmail = (string)reader["Business_sEmail"];
reader.Close();
return bs;
}
else
{
reader.Close();
return null;
}
}
} 引用这个命名空间 using System.Collections.Generic;
public static List<Business_s> GetNewsByBusiness_sName(string name)
{
List<Business_s> list = new List<Business_s>;
string sql = "select * from Business where Business_sName=@Business_sName";
using (SqlDataReader reader = DBHelper.GetReader(sql, new SqlParameter("@Business_sName", name)))
{
while (reader.Read())
{
Business_s bs = new Business_s();
bs.Region_iID = (int)reader["Region_iID"];
bs.Business_sName = (string)reader["Business_sName"];
bs.Business_sPWD = (string)reader["Business_sPWD"];
bs.Business_sCaption = (string)reader["Business_sCaption"];
bs.Business_sAdd = (string)reader["Business_sAdd"];
bs.Business_sTel = (string)reader["Business_sTel"];
bs.Business_sBus = (string)reader["Business_sBus"];
bs.Business_sDescription = (string)reader["Business_sDescription"];
bs.Business_iFirstFlag = (byte)reader["Business_iFirstFlag"];
bs.Business_iSecondFlag = (byte)reader["Business_iSecondFlag"];
bs.Business_iThreeFlag = (byte)reader["Business_iThreeFlag"];
bs.Business_iFourFlag = (byte)reader["Business_iFourFlag"];
bs.Business_iFiveFlag = (byte)reader["Business_iFiveFlag"];
bs.Business_iSixFlag = (byte)reader["Business_iSixFlag"];
bs.Business_dTime = (DateTime)reader["Business_dTime"];
bs.Business_sFullName = (string)reader["Business_sFullName"];
bs.Business_sContact = (string)reader["Business_sContact"];
bs.Business_sEmail = (string)reader["Business_sEmail"];
list.add(bs);
reader.Close();
return list;
}
else
{
reader.Close();
return null;
}
}
} 这样呢,BLL层的返回类型也是List<Business_s>