Mohan Sharma
Mohan Sharma

Reputation: 165

calling a function in repeater asp.net

I want to call a function to bind data to Repeater . Do I need to Set dataSource Property of this control or Repeater .DataBind() will work.

<asp:Repeater ID="RepeaterDays" runat="server">
    <ItemTemplate>
        <ul>
            <asp:Label ID="lblDays" runat="server" Text='<%#ChandanIdiot()%>'></asp:Label>
        </ul>
    </ItemTemplate>
</asp:Repeater>

I have written RepeaterDays.Databind(), but the function is not called.

This is displaying nothing.

Upvotes: 3

Views: 18830

Answers (2)

karthi
karthi

Reputation: 470

Source:

<asp:TemplateField HeaderText="Unit Price">
    <ItemTemplate>
        <%# ChandanIdiot( Eval("product_unitprice"))%>
        <!--product_unitprice is table colomn name -->
    </ItemTemplate>
    <EditItemTemplate>
        <asp:TextBox ID="TextBox4" runat="server" ></asp:TextBox>
    </EditItemTemplate>
</asp:TemplateField>

C#:

protected string ChandanIdiot(object ob) {
    string typ = ob.ToString(); //selected value stored in ob
    if (typ == "some function") {
        //do somthing 
    }
    
    return typ ; //value return to <%# ChandanIdiot( Eval("product_unitprice"))%>
}

Upvotes: 3

Daniel Dyson
Daniel Dyson

Reputation: 13230

Is ChandanIdiot() a protected function that returns a string?

    protected string ChandanIdiot() {
        return "test";
    }

If you want to actually do some data processing, you will have to include a parameter:

    protected string ChandanIdiot(object obj) {
        return "test " + obj;
    }

And, assuming that there is a property called "Name" on the object that you are reapeating, you would have the following:

<asp:Label ID="lblDays" runat="server" Text='<%# ChandanIdiot(Eval("Name")) %>' />

Upvotes: 9

Related Questions