gpt4 book ai didi

c# - 无法将带 [] 的索引应用于类型 'object' 的表达式

转载 作者:行者123 更新时间:2023-11-30 15:32:57 25 4
gpt4 key购买 nike

到目前为止,这就是我所拥有的。

protected void CategoryRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Object dataItem = e.Item.DataItem;

// code to pull catid out of dataItem
}

下面是调试运行后 dataItem 包含的示例:

dataItem = { TextCategory = "Radiation (Release or Contamination)", catid = 4, TextResult = "Refer to emergency plan and report under code 332.54(A)" , IsReportable = True }

我想把 catid 从对象中拉出来。我试过转换它,但所有转换它的尝试都没有成功。我的目标是将此 catid 用于嵌套中继器的数据绑定(bind).. 像这样:

using (NERAEntities entities = new NERAEntities())
{
var Questions = (from x in entities.Questions
where x.CategoryID == catid
select new { QuestionText = x.Text });


QARepeater.DataSource = Questions;
QARepeater.DataBind();
}

最佳答案

问题是 DataItem 本身并没有真正的类型(它是一个匿名类)。您需要改用它:

dynamic dataItem = e.Item.DataItem ;
int catId = dataItem.catid ;

显然,如果实际对象没有 catId 属性,这将在运行时失败。

关于c# - 无法将带 [] 的索引应用于类型 'object' 的表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18129271/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com