C# 在所选数据源上找不到字段名-单选按钮列表imageurl

C# 在所选数据源上找不到字段名-单选按钮列表imageurl,c#,asp.net,radiobuttonlist,C#,Asp.net,Radiobuttonlist,当我在live web服务器上打开网站的特定页面时,出现以下错误 “在所选数据源上找不到名为'imgURL'的字段。” 我在VS2010中使用ASP和C#。在本地开发和查看页面时,我没有收到错误消息 这两个实例都指向同一个远程数据库,并且正在执行相同的存储过程。我不明白当网页在web服务器上处于活动状态时为什么会收到此消息 my code behind中的函数调用一个存储过程来填充5个单选按钮列表。 对于一个单选按钮列表,我希望在按钮上显示图像,因此我检索“imgURl”字段并尝试将其绑定到控件

当我在live web服务器上打开网站的特定页面时,出现以下错误

“在所选数据源上找不到名为'imgURL'的字段。”

我在VS2010中使用ASP和C#。在本地开发和查看页面时,我没有收到错误消息

这两个实例都指向同一个远程数据库,并且正在执行相同的存储过程。我不明白当网页在web服务器上处于活动状态时为什么会收到此消息

my code behind中的函数调用一个存储过程来填充5个单选按钮列表。 对于一个单选按钮列表,我希望在按钮上显示图像,因此我检索“imgURl”字段并尝试将其绑定到控件。在本地pc上的调试中,我可以在var“resultslist”中看到“ID”、“DESC”和“imgURL”,因此存储过程似乎返回了字段OK

我显然很困惑,为什么它只能在本地工作,而不能在主服务器上工作

非常感谢您的帮助


受保护的无效BindBookDetailsToRBLBox() {

ASPxRadioButtonList[]rblList=新的ASPxRadioButtonList[5];
rblList[0]=rblInteriors;
rblList[1]=rblBind;
rblList[2]=rblPaper;
rblList[3]=rblLam;
rblList[4]=rblTrim;
//获取当前单选按钮列表框值。
//每次页面加载或控件发布对其索引的更改时,都会调用此函数
int[]bookDetailIDs=newint[]{0,0,0,0};
GetSelectedBlboxValues(参考BookDetailId);
对于(int i=0;i<5;i++)
{
int?returnCode=0;
if(bookDetailIDs[i]==0)
{
尝试
{
var resultsList=db.getValidCombos(RequiredData[i],
BookDetailId[0],BookDetailId[1],
BookDetailId[2],BookDetailId[3],
bookDetailId[4],ref returnCode).ToList();
//将数据绑定到单选按钮列表控件
rblList[i].DataSource=resultsList;
rblList[i].ValueField=“ID”;
如果(i==4)
rblList[i].ImageUrlField=“imgURL”;
rblList[i].TextField=“DESC”;
rblList[i].DataBind();
}
catch(SqlException-ex)
{
Log_Error.AddToErrorLog(“printingbooks.ascx.cs”,
“BindBookDetailsToRBLBox”,string.Empty,ex.Message);
}
}
}
}
试试下面的

rblList[i].DataSource = resultsList.Select(x=> new{imgURL =x.imgURL, ID =x.ID}) ;

什么是
getValidCombos
的返回类型?该返回类型对象是否具有名为
imgURL
的属性?嗨,方法的返回类型是由LINQ在执行存储过程时自动创建的(db.getValidCombos(…)。它返回一个对象序列,每个对象都有一个字符串、一个int和一个字符串(DESC、ID和imgURL)。它肯定会返回imgURL的值-我在调试时可以看到它们。我解决了这个问题。我自动创建的LINQ数据类.cs源文件在live server上已过期。它的返回类型与我本地机器上的版本不同!感谢Damith为我指出了正确的方向。这在本地运行也很好,但是当我加载到live server并打开页面时,我得到了以下信息“编译器错误消息:CS1061:'GetValidComposResult'不包含'imgURL'的定义,并且找不到接受'GetValidComposResult'类型的第一个参数的扩展方法'imgURL'(是否缺少using指令或程序集引用?)
rblList[i].DataSource = resultsList.Select(x=> new{imgURL =x.imgURL, ID =x.ID}) ;