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
的构造函数中,我已将其初始化为示例中的当前日期。您最好使用现有的DateTimedate
属性并应用一些文本格式:
<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
的构造函数中,我已将其初始化为示例中的当前日期。您最好使用现有的DateTimedate
属性并应用一些文本格式:
<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
的构造函数中,我已将其初始化为示例中的当前日期。您最好使用现有的DateTimedate
属性并应用一些文本格式:
<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