在转发器asp.net中调用函数

时间:2010-08-09 11:13:44

标签: asp.net repeater

我想调用一个函数将数据绑定到Repeater。我是否需要设置此控件或Repeater .DataBind()的dataSource属性。

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

我写了RepeaterDays.Databind(),但是没有调用该函数。

这没有显示任何内容。

2 个答案:

答案 0 :(得分:9)

ChandanIdiot()是一个返回字符串的受保护函数吗?

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

如果您想要实际进行一些数据处理,则必须包含一个参数:

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

并且,假设您正在重新定位的对象上有一个名为“Name”的属性,您将拥有以下内容:

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

答案 1 :(得分:3)

来源:

<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"))%>
}