在 ascx 中使用变量 DataFormatString

And*_*rew 5 c# asp.net ascx boundfield

所以我有一些代码看起来像这样:

<asp:BoundField DataField="CreatedOn" HeaderText="Created on" 
SortExpression="CreatedOn" DataFormatString="{0:MMM dd yyyy hh:mm:ss tt}">
Run Code Online (Sandbox Code Playgroud)

这正如我所希望的那样。但是,我想在程序中的任何地方重用日期格式。因此,我想使用变量而不是上面使用的字符串。就像是:

<asp:BoundField DataField="CreatedOn" HeaderText="Created on" 
SortExpression="CreatedOn" DataFormatString="<%=myFormatString%>">
Run Code Online (Sandbox Code Playgroud)

但这根本行不通。它按字面打印出来:

<%=myFormatString%>
Run Code Online (Sandbox Code Playgroud)

我尝试了 Bind,我尝试了 Eval,似乎没有任何效果。在我看来这应该非常简单,甚至是必要的。我是世界上唯一一个想要多次使用 DataFormatString 的人吗?这是可能的还是我是一个梦想家?

Tim*_*ter 4

您可以从代码隐藏中设置它:

((BoundField)GridView1.Columns[ColumnIndex]).DataFormatString = myFormatString;
Run Code Online (Sandbox Code Playgroud)