【问题标题】:How to Bind a databound TextBox with complex expression如何绑定具有复杂表达式的数据绑定文本框
【发布时间】:2016-09-13 14:18:27
【问题描述】:

我在 Gridview 中有以下文本框:

<asp:TextBox ID="due" runat="server" TextMode="Date" Text='<%# Bind((Convert.ToDateTime(Eval("due")).ToString("yyyy-MM-dd"))) %>'></asp:TextBox>

这不起作用。我收到解析器错误:对 Bind 的调用格式不正确。请参阅文档了解正确的 Bind 参数。

当我在没有“Bind()”的情况下使用该表达式时,文本框会根据需要显示日期选择器和存储日期,但是当单击更新时,不会更新日期(因为它只是 ...Eval...)。 双向绑定的正确语法是什么?

【问题讨论】:

  • 这无法完成。 Bind 是一种非常特殊的结构,它只适用于简单的字段名称。不像 Eval,它可以很好地与周围的任何 C# 配合使用。 Good reference
  • 谢谢安德烈。我阅读了参考资料 - 好信息!我试图让我的想法工作几个小时。最初我不想通过后面的(VB-)代码来解决这个问题。可能你知道如何做到这一点???

标签: asp.net


【解决方案1】:

试一试:

<asp:TextBox ID="due" runat="server" TextMode="Date" Text='<%# Bind("due", "{0:yyyy-MM-dd}") %>'></asp:TextBox>

【讨论】:

  • 谢谢。以前做过,但是日期选择器不显示存储的日期,只显示“空”日期 i。 e. “tt.mm.jjjj”。我需要将存储的日期显示为默认值。出于这个原因,我需要在我的示例中使用“复杂”表达式。
猜你喜欢
  • 2015-08-07
  • 2017-03-24
  • 2012-06-30
  • 2011-09-30
  • 2011-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-14
相关资源
最近更新 更多