好吧,让这件事变得更快:
- 我想在更改或页面加载时动态设置日历扩展程序的开始和结束日期
- 这些值被放入 .ascx 上的隐藏字段中,并在页面加载期间在 if not postback 中填充
- 一组日历扩展器位于 GridView 的项目模板字段中,称为组 A
- 其他在普通的 html 表格中 - 设置 b
设置 a 和设置 b 有标志 StartDate="<%# hfStart.value%>" EndDate="<%# hfEnd.value%>"
在 GridView 列的项目模板中设置就像一个 super 按钮
HTML 表格中的 set b 似乎根本不起作用
什么给出了?
到目前为止,我已经尝试了内部具有相同代码的其他服务器标签,但我显然错过了重要的细节。为什么其中一个有效而另一个无效?
更新:已尝试
-
CDate(hfstart.value).ToString
带有 <%: 和 <%= 标签 -
<%= hfstart.value %>
除非我误解,<%= 将在 asp.net 生命周期的最后触发,阻止它在此上下文中发挥作用。
最佳答案
事实证明您确实需要使用<%# %>
在 asp 标签内,如 <% %>
等和<%= %>
在 ASP.NET 生命周期结束时执行,并将缓冲区吐出到天知道在哪里。使用时<%# %>
但是,asp控件需要是DataBound();
在适当的时间。
对于 <item template>
中建模的控件,这种情况会自动发生。 gridview 中的标签,因为 gridview 中的所有内容都绑定(bind)在其 gridview.DataBound()
上命令。
关于asp.net - 服务器标记在 asp 控件内不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19800526/