服务器标签无法在asp控件中运行

时间:2013-11-05 22:41:30

标签: asp.net hidden-field server-tags

好的,快点:

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

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

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

HTML表格中的

设置b 似乎根本不起作用

是什么给出了?

到目前为止,我已尝试使用相同代码的其他服务器标签,但我显然忽略了显着的细节。为什么一个工作而另一个工作?

更新:尝试

  • CDate(hfstart.value).ToString,&lt;%:和&lt;%= tags
  • <%= hfstart.value %>

除非我误解,否则&lt;%=将在asp.net生命周期的最后一天触发,阻止它在此上下文中有用。

2 个答案:

答案 0 :(得分:2)

事实证明,你需要在asp标签中使用<%# %>,因为像<% %><%= %>这样的其他人在ASP.NET生命周期结束时执行并且吐出缓冲到上帝知道在哪里。但是,在使用<%# %>时,asp控件需要在适当的时间DataBound();

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

答案 1 :(得分:1)

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

但是,在基本HTML表格中,您应该使用<% %>代码,或<%= %>来调用方法。

有关代码类型的完整详情,请尝试this reference