访问asp.net gridview编辑控件

时间:2012-07-31 16:17:03

标签: c# asp.net gridview calendar edit

我想在编辑gridview行时通过c#访问日历控件。但是,我不确定如何通过C#后面访问它。

我想做以下事情:

cal_SelectionChanged(object sender, EventArgs e)
{
date = cal.SelectedDate

blah blah...
}

但是,由于控件位于gridview编辑模板中,因此我无法找到一种方法来访问C#,相比之下,日历只是普通asp.net页面上的一个元素。

由于

1 个答案:

答案 0 :(得分:1)

您似乎意识到,基于Template的控件(例如<asp:Repeaters>)中的控件无法直接访问,就像您直接将控件置于页面/ usercontrol /母版页中一样。可以使用控件中特定项目的“FindControl”找到它,但应该有一个更简单的方法......

在这种情况下,您应该能够在日历控件上将SelectionChanged事件处理程序设置为代码隐藏中的函数。 (这假设你使用内置的Calendar control)类似于......

<asp:Calendar runat="server" OnSelectionChanged="cal_SelectionChanged"> ... </asp:Calendar>

当调用此类事件时,导致事件的对象(在本例中为日历控件)将通过sender参数传递给函数。

这意味着您无需尝试找出点击的日历,而只是可以执行此操作...

cal_SelectionChanged(object sender, EventArgs e)
{
  Calendar cal = (Calendar)sender;
  date = cal.SelectedDate;
  blah blah...
}