C# Repeater ItemDataBound事件提供空异常
使用itemdatabound时出现空异常。当我选中时,我看到的是项索引零。你能告诉我中继器哪里出了问题吗 我的中继器C# Repeater ItemDataBound事件提供空异常,c#,asp.net,repeater,C#,Asp.net,Repeater,使用itemdatabound时出现空异常。当我选中时,我看到的是项索引零。你能告诉我中继器哪里出了问题吗 我的中继器 <asp:Repeater runat="server" ID="rptKonutm" OnItemDataBound="rptKonut_ItemDataBound"> <ItemTemplate> <div class="caption"> <h4 class="p
<asp:Repeater runat="server" ID="rptKonutm" OnItemDataBound="rptKonut_ItemDataBound">
<ItemTemplate>
<div class="caption">
<h4 class="pull-right"><%# DataBinder.Eval(Container.DataItem, "Fiyat") %>$</h4>
<h4>
<asp:Label runat="server" ID="lblKonutFiyat"></asp:Label>
</h4>
<h4 class="pull-right"><%# DataBinder.Eval(Container.DataItem, "Il")%></h4>
<h4><asp:Label runat="server" ID="lblMevki"></asp:Label></h4>
<h4 class="pull-right"><%# DataBinder.Eval(Container.DataItem, "EkBilgi")%></h4>
<h4><asp:Label runat="server" ID="lblDahaFazlaBilgi"></asp:Label></h4>
<h4 class="pull-right"><%# DataBinder.Eval(Container.DataItem, "AlanMetreKare")%></h4>
<h4><asp:Label runat="server" ID="lblAlanMetreKare"></asp:Label></h4>
</div>
<!-- Split button -->
</ItemTemplate>
</asp:Repeater>
如果出现以下情况,请尝试将代码保存在
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem){}
如果出现以下情况,请尝试将代码保存在
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem){}
Imad是正确的。您需要检查您是否在项目行中搜索 您可以通过以下方式找到控件以确定错误原因:
Label lblKonutFiyat = e.Item.FindControl("lblKonutFiyat") as Label;
if (lblKonutFiyat != null)
{
lblKonutFiyat.Text = MyResource.lblKonutFiyat;
}
....
如果控件为空,它将优雅地处理它,任何未设置的标签都将为您提供有问题的标签。Imad是正确的,您需要检查是否在项目行中搜索 您可以通过以下方式找到控件以确定错误原因:
Label lblKonutFiyat = e.Item.FindControl("lblKonutFiyat") as Label;
if (lblKonutFiyat != null)
{
lblKonutFiyat.Text = MyResource.lblKonutFiyat;
}
....
如果控件为空,它将优雅地处理它,任何未设置的标签都将为您提供有问题的标签。我提到了我的问题,即项索引为零,这意味着所有控件都为空。答案/问题是什么?:)我在这里得出的结论是,如果你想确保代码是正确的,那就手工操作,而不是自动操作。两者不能同时进行。我只是忘了删除代码顶部的另一个repater,这与自动创建成本相比;4小时的时间浪费是的,手动是最好的。当我学习时,我使用了VisualStudio的东西,它添加了很多我并不真正需要的代码。快速启动并运行一些东西是很好的,但一旦您知道发生了什么,手册就是未来。:)我提到了我的问题,项目索引为零,这意味着所有控件都为空。答案/问题是什么?:)我在这里得出的结论是,如果你想确保代码是正确的,那就手工操作,而不是自动操作。两者不能同时进行。我只是忘了删除代码顶部的另一个repater,这与自动创建成本相比;4小时的时间浪费是的,手动是最好的。当我学习时,我使用了VisualStudio的东西,它添加了很多我并不真正需要的代码。快速启动并运行一些东西是很好的,但一旦您知道发生了什么,手册就是未来。:)啊,你是说标签id,好吗?这些标签是page或repeater的孩子?很抱歉,我弄错了,我只是忘记了上面的代码,这花了我4个小时的时间:(如果我的if代码对您有所帮助,请将其标记为帮助其他人找到正确解决方案的答案。啊,您是指标签id,好吗?这些标签是page或repeater的孩子?很抱歉,我弄错了,我只是忘记了上面代码中的一个愚蠢标记,这花费了我4个小时的时间:(如果我的if代码对您有所帮助,请将其标记为帮助他人找到正确解决方案的答案。