C# 使用Eval调用方法而不是属性

C# 使用Eval调用方法而不是属性,c#,asp.net,gridview,eval,C#,Asp.net,Gridview,Eval,例如: 我可以访问ID属性,因为有一个属性 但是我不能从同一个类访问方法。所以不起作用。 创建一个属性而不是一个没有setter的方法可以解决这个问题,但是有更好的方法吗 标记: <asp:GridView ID="GridView1" runat="server" SelectMethod="GetMyClass"> <Columns> <asp:TemplateField HeaderText="ID"> <ItemTempl

例如:

我可以访问
ID
属性,因为有一个属性

但是我不能从同一个类访问方法。所以
不起作用。 创建一个属性而不是一个没有setter的方法可以解决这个问题,但是有更好的方法吗

标记:

<asp:GridView ID="GridView1" runat="server" SelectMethod="GetMyClass">
<Columns>
    <asp:TemplateField HeaderText="ID">
        <ItemTemplate>
            <%# Eval("ID") as string %>
        </ItemTemplate>
    </asp:TemplateField>
    <asp:TemplateField HeaderText="Today">
        <ItemTemplate>
            <%# Eval("**GetToday**") as string %>
        </ItemTemplate>
    </asp:TemplateField>
</Columns>

不,没有。ASP.NET
Databinder.Eval
方法仅支持属性表达式,如(emphasis mine)中所述:

从容器对象到公共属性的导航路径


除了您已经找到的属性之外,方法调用没有其他选择。

不,没有。ASP.NET
Databinder.Eval
方法仅支持属性表达式,如(emphasis mine)中所述:

从容器对象到公共属性的导航路径


除了您已经找到的属性之外,方法调用没有其他选择。

不,没有。ASP.NET
Databinder.Eval
方法仅支持属性表达式,如(emphasis mine)中所述:

从容器对象到公共属性的导航路径


除了您已经找到的属性之外,方法调用没有其他选择。

不,没有。ASP.NET
Databinder.Eval
方法仅支持属性表达式,如(emphasis mine)中所述:

从容器对象到公共属性的导航路径


除了您已经找到的属性之外,方法调用没有其他选择。

您最好使用现有的DateTime
Date
属性并应用一些文本格式:

<asp:GridView ID="GridView1" runat="server" SelectMethod="GetMyClass">
<Columns>
    <asp:TemplateField HeaderText="ID">
        <ItemTemplate>
            <%# Eval("ID") as string %>
        </ItemTemplate>
    </asp:TemplateField>
    <asp:TemplateField HeaderText="Today">
        <ItemTemplate>
            <%# Eval("Date", "{0:dd.MM.yyyy}") %>
        </ItemTemplate>
    </asp:TemplateField>    
</Columns>

只要确保private
\u date
字段已正确初始化,可能在
MyClass
的构造函数中,我已将其初始化为示例中的当前日期。

您最好使用现有的DateTime
date
属性并应用一些文本格式:

<asp:GridView ID="GridView1" runat="server" SelectMethod="GetMyClass">
<Columns>
    <asp:TemplateField HeaderText="ID">
        <ItemTemplate>
            <%# Eval("ID") as string %>
        </ItemTemplate>
    </asp:TemplateField>
    <asp:TemplateField HeaderText="Today">
        <ItemTemplate>
            <%# Eval("Date", "{0:dd.MM.yyyy}") %>
        </ItemTemplate>
    </asp:TemplateField>    
</Columns>

只要确保private
\u date
字段已正确初始化,可能在
MyClass
的构造函数中,我已将其初始化为示例中的当前日期。

您最好使用现有的DateTime
date
属性并应用一些文本格式:

<asp:GridView ID="GridView1" runat="server" SelectMethod="GetMyClass">
<Columns>
    <asp:TemplateField HeaderText="ID">
        <ItemTemplate>
            <%# Eval("ID") as string %>
        </ItemTemplate>
    </asp:TemplateField>
    <asp:TemplateField HeaderText="Today">
        <ItemTemplate>
            <%# Eval("Date", "{0:dd.MM.yyyy}") %>
        </ItemTemplate>
    </asp:TemplateField>    
</Columns>

只要确保private
\u date
字段已正确初始化,可能在
MyClass
的构造函数中,我已将其初始化为示例中的当前日期。

您最好使用现有的DateTime
date
属性并应用一些文本格式:

<asp:GridView ID="GridView1" runat="server" SelectMethod="GetMyClass">
<Columns>
    <asp:TemplateField HeaderText="ID">
        <ItemTemplate>
            <%# Eval("ID") as string %>
        </ItemTemplate>
    </asp:TemplateField>
    <asp:TemplateField HeaderText="Today">
        <ItemTemplate>
            <%# Eval("Date", "{0:dd.MM.yyyy}") %>
        </ItemTemplate>
    </asp:TemplateField>    
</Columns>

只需确保private
\u date
字段已正确初始化,可能在
MyClass
的构造函数中,我已将其初始化为示例中的当前日期。

您可以调用一个方法,只需获得正确的语法即可:

<%= GetToday() %>

您可以调用一个方法,只需获得正确的语法即可:

<%= GetToday() %>

您可以调用一个方法,只需获得正确的语法即可:

<%= GetToday() %>

您可以调用一个方法,只需获得正确的语法即可:

<%= GetToday() %>

您是对的,您可以使用get访问器创建一个属性,如果它像您的示例一样简单的话

正如Philleed指出的,如果只是格式化日期时间,那么可以对现有属性使用Eval:

    <%# Eval("Date", "{0:dd.MM.yyyy}") %>

这不是最优雅的解决方案,但如果没有其他选择,可以使用。

您是对的,您可以使用get访问器创建属性,如果它像您的示例一样简单

正如Philleed指出的,如果只是格式化日期时间,那么可以对现有属性使用Eval:

    <%# Eval("Date", "{0:dd.MM.yyyy}") %>

这不是最优雅的解决方案,但如果没有其他选择,可以使用。

您是对的,您可以使用get访问器创建属性,如果它像您的示例一样简单

正如Philleed指出的,如果只是格式化日期时间,那么可以对现有属性使用Eval:

    <%# Eval("Date", "{0:dd.MM.yyyy}") %>

这不是最优雅的解决方案,但如果没有其他选择,可以使用。

您是对的,您可以使用get访问器创建属性,如果它像您的示例一样简单

正如Philleed指出的,如果只是格式化日期时间,那么可以对现有属性使用Eval:

    <%# Eval("Date", "{0:dd.MM.yyyy}") %>

不是最优雅的解决方案,但是如果没有其他选择,可以使用。

是的,但是GetToday()-方法只是一个例子。在这个方法中,我需要用大约10行代码进行其他有用的思考。@Xeddon我更新了答案,以给出一个示例,说明如何使用属性在返回日期之前操纵日期。是的,但GetToday()-方法只是一个示例。在这个方法中,我需要用大约10行代码进行其他有用的思考。@Xeddon我更新了答案,以给出一个示例,说明如何使用属性在返回日期之前操纵日期。是的,但GetToday()-方法只是一个示例。在这个方法中,我需要用大约10行代码进行其他有用的思考。@Xeddon我更新了答案,以给出一个示例,说明如何使用属性在返回日期之前操纵日期。是的,但GetToday()-方法只是一个示例。在这个方法中,我需要用大约10行代码进行其他有用的思考。@Xeddon我已经更新了答案,以给出一个示例,说明如何使用属性在返回日期之前操纵日期。据我所知,这不会进行后期绑定。@PatrickHofman我对这种代码没有经验,但是他是否可以向该方法添加一个伪参数,然后使用一些值调用GetToday以进行后期绑定?类似于
和代码隐藏
公共字符串GetToday(objectoutlyuselessparam){…}
的东西,它不会执行延迟bi