2

可以快速完成:

  • 我想在更改或页面加载时动态设置日历扩展器的开始和结束日期
  • 这些值被放入 .ascx 的隐藏字段中,并在页面加载期间填充(如果不是回发)
  • 一组日历扩展器位于网格视图的项目模板字段中,调用此集 A
  • 其他的都在一个普通的 html 表中 -设置 b

设置 a 和设置 b有标志StartDate="<%# hfStart.value%>" EndDate="<%# hfEnd.value%>"

在网格视图列的项目模板中设置 a就像一个魅力

在 HTML 表中设置 b 似乎根本不起作用

是什么赋予了?

到目前为止,我已经尝试过其他具有相同代码的服务器标签,但我显然错过了显着的细节。为什么一个有效而另一个无效?

更新:试过

  • CDate(hfstart.value).ToString带有 <%: 和 <%= 标签
  • <%= hfstart.value %>

除非我误解,否则 <%= 将在 asp.net 生命周期的最后触发,阻止它在这种情况下有用。

4

2 回答 2

2

事实证明,您确实需要<%# %>像其他人一样在 asp 标记中使用<% %><%= %>在 ASP.NET 生命周期结束时执行,并将缓冲区吐出到天知道的位置。但是在使用<%# %>时,asp控件需要DataBound();在适当的时候进行。

这对于在 gridview 中的标签中建模的控件会自动发生,<item template>因为 gridview 中的所有内容都绑定在它的gridview.DataBound()命令上。

于 2013-11-06T18:03:16.677 回答
1

可能是因为您使用的<%# %>是用于数据绑定的标签吗?这可以解释为什么它们在 GridView 中工作,因为它支持数据绑定。

但是,在基本的 HTML 表格中,您应该改用<% %>标签,或者<%= %>调用方法。

有关标记类型的完整详细信息,请尝试此参考

于 2013-11-05T23:58:02.200 回答