【发布时间】:2016-09-23 08:43:14
【问题描述】:
我有以下 ImageButton,它可以切换日历控件的可见性属性。
<asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="~/calendar.png" OnClick="Display_Calendar1"/>
问题是,当我点击它时,它会发送一个与我的其他一些代码冲突的回发命令。我已经看到有多个关于此的线程,其中最常见的解决方案是调用“return false;”。在 OnClick 事件上。但是,我仍然需要运行日历切换方法:
//cStart_Date is the calendar control and tbStart_Date is a textbox where I write down the chosen date.
protected void Display_Calendar1(object sender, ImageClickEventArgs e)
{
if (IsValidDate(tbStart_Date.Text))
{
cStart_Date.SelectedDate = Convert2Date(tbStart_Date.Text);
cStart_Date.VisibleDate = cStart_Date.SelectedDate;
}
cStart_Date.Visible = !cStart_Date.Visible;
}
在我见过的所有示例中,函数在“return false;”之前运行是一个 JavaScript 函数,但我希望它运行我的 C# 方法。当我在浏览器上启动它时,这会导致服务器错误,显示 编译器错误消息:CS1026:) 预期
我也试过不带参数的方法protected void Display_Calendar1() 但结果是一样的...
【问题讨论】:
-
要运行您的 C# 方法,您必须将 something 发送到服务器,因为 C# 方法正在服务器上运行。你能澄清一下这个问题到底是什么吗?您似乎对 Web 应用程序的运行方式和运行位置有些困惑?
-
简而言之,我希望当我单击 ImageButton 时,日历控件变得可见(如果相邻的文本框具有有效的日期字符串,则具有选定的日期)。我希望在不触发 Page_Load (IsPostback) 的情况下完成此操作