Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.Net在中继器的特定行中设置控件?_Asp.net_Repeater_Findcontrol - Fatal编程技术网

Asp.Net在中继器的特定行中设置控件?

Asp.Net在中继器的特定行中设置控件?,asp.net,repeater,findcontrol,Asp.net,Repeater,Findcontrol,中继器代码: <asp:Repeater ID="Repeater_sorular" runat="server" OnItemCommand="Repeater_sorular_ItemCommand" OnItemDataBound="Repeater_sorular_ItemBound"> <HeaderTemplate> </HeaderTemplate> <ItemTemplate

中继器代码:

<asp:Repeater ID="Repeater_sorular" runat="server" OnItemCommand="Repeater_sorular_ItemCommand"
        OnItemDataBound="Repeater_sorular_ItemBound">
        <HeaderTemplate>
        </HeaderTemplate>
        <ItemTemplate>
            <table>
                <tr>
                    <td>
                        <rad:RadChart ID="RadChart1" runat="server" DefaultType="Pie" Width="700" >
                            <PlotArea Appearance-FillStyle-FillType="Gradient" Appearance-FillStyle-MainColor="#D90420"
                                Appearance-FillStyle-SecondColor="#FFAD4A" Appearance-Border-Visible="false">
                                <EmptySeriesMessage>
                                    <TextBlock Text="Seçilen anket henüz oylanmamıştır.">
                                        <Appearance TextProperties-Font="Tahoma, 10pt, style=Bold">
                                        </Appearance>
                                    </TextBlock>
                                </EmptySeriesMessage>
                            </PlotArea>
                            <ChartTitle>
                                <TextBlock Appearance-TextProperties-Font="Tahoma">
                                </TextBlock>
                            </ChartTitle>
                            <Appearance ImageQuality="HighQuality" Border-Color="#DFDDDD" TextQuality="ClearTypeGridFit">
                            </Appearance>
                            <Series>
                                <rad:ChartSeries Type="Pie" Appearance-TextAppearance-TextProperties-Color="#FFFFFF"
                                    Appearance-TextAppearance-TextProperties-Font="Tahoma">
                                </rad:ChartSeries>
                            </Series>
                            <Legend Visible="True">
                                <TextBlock Visible="True">
                                </TextBlock>
                            </Legend>
                        </rad:RadChart>
                    </td>
                    <td>
                        <div style="font-weight: bolder; padding: 5px;">
                            <%#(((RepeaterItem)Container).ItemIndex+1).ToString() %>.
                            <%#Eval("Subject")%>
                        </div>
                        <asp:BulletedList ID="BulletedList_secenekler" runat="server" DataSource='<%#Eval("Secenekler")%>'
                            DataTextField="OptionName" DataValueField="OptionId" CssClass="sira_numarali">
                        </asp:BulletedList>
                    </td>
                </tr>
            </table>
        </ItemTemplate>
        <FooterTemplate>
        </FooterTemplate>
    </asp:Repeater>
当我写这段代码时,所有的图表都显示了最后的对象值。我想用不同的数据设置每个图表

我怎样才能做到这一点


谢谢。

您可以使用
ItemIndex
属性

<asp:Repeater runat="server" ID="myRepeater" OnItemDataBound="myRepeater_ItemDataBound">
    <ItemTemplate>
        <asp:Label Text='<%# Eval("Id") %>' runat="server" ID="myRepeaterLabel" />
    </ItemTemplate>
</asp:Repeater>
输出:

已编辑

我不确定这是否有帮助,但您应该像这样绑定中继器:

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.IsPostBack)
        {
            this.BindRepeater();
        }
    }

    private void BindRepeater()
    {
        var r = Builder<Product>.CreateListOfSize(20).Build();
        this.myRepeater.DataSource = r;
        this.myRepeater.DataBind();
    }
受保护的无效页面加载(对象发送方,事件参数e)
{
如果(!this.IsPostBack)
{
这个.BindRepeater();
}
}
专用void BindRepeater()
{
var r=Builder.CreateListOfSize(20.Build();
this.myRepeater.DataSource=r;
this.myRepeater.DataBind();
}

只需在
ItemDataBound
事件中修改已绑定的特定值,就可以使用
itemdindex
属性

<asp:Repeater runat="server" ID="myRepeater" OnItemDataBound="myRepeater_ItemDataBound">
    <ItemTemplate>
        <asp:Label Text='<%# Eval("Id") %>' runat="server" ID="myRepeaterLabel" />
    </ItemTemplate>
</asp:Repeater>
输出:

已编辑

我不确定这是否有帮助,但您应该像这样绑定中继器:

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.IsPostBack)
        {
            this.BindRepeater();
        }
    }

    private void BindRepeater()
    {
        var r = Builder<Product>.CreateListOfSize(20).Build();
        this.myRepeater.DataSource = r;
        this.myRepeater.DataBind();
    }
受保护的无效页面加载(对象发送方,事件参数e)
{
如果(!this.IsPostBack)
{
这个.BindRepeater();
}
}
专用void BindRepeater()
{
var r=Builder.CreateListOfSize(20.Build();
this.myRepeater.DataSource=r;
this.myRepeater.DataBind();
}

只需修改
ItemDataBound
event

Nikhil中已绑定的特定值,我编辑了我的问题。你能再看一遍吗?Nikhil,我编辑了我的问题。你能再看看吗?我想我犯了一个算法错误。因为所有图表都显示相同的数据。老实说,您在视图中放置了太多的逻辑,我会将逻辑抽象到视图模型中,然后尽量使用数据绑定。我不知道您正在使用的
RadChart
控件,但代码对我来说似乎没有问题,我的意思是您正在使用以下方法获得每个rad控件的正确实例:
RadChart1=(RadChart)e.Item.FindControl(“RadChart1”)只有一件事请记住,
ItemDataBound
事件是为绑定在
Repeater
中的每个元素触发的。也许我错了,但是您似乎想在这个事件中绑定整个Repeater,这是错的,事实是您将这一行
RadChart1=(RadChart)e.Item.FindControl(“RadChart1”)
语句,
中的code>会让我想到这一点,我想我犯了一个算法错误。因为所有图表都显示相同的数据。老实说,您在视图中放置了太多的逻辑,我会将逻辑抽象到视图模型中,然后尽量使用数据绑定。我不知道您正在使用的
RadChart
控件,但代码对我来说似乎没有问题,我的意思是您正在使用以下方法获得每个rad控件的正确实例:
RadChart1=(RadChart)e.Item.FindControl(“RadChart1”)只有一件事请记住,
ItemDataBound
事件是为绑定在
Repeater
中的每个元素触发的。也许我错了,但是您似乎想在这个事件中绑定整个Repeater,这是错的,事实是您将这一行
RadChart1=(RadChart)e.Item.FindControl(“RadChart1”)中,对于每一个
语句,code>都让我想到了这一点