我在这个GridView中有一个GridView,我用一个列来选择日期,使用asp:CalendarExtender。我在GridView中有多行是动态生成的。 当我点击图像按钮时,弹出窗口并选择我的日期。
在某些行中,我希望用户在单击该行的图像按钮时选择日期。有时候我不想让他选择日期。 当他尝试更改日期或单击图像按钮时,他应该收到警告消息,说明您不能更改日期。 我想从客户端处理它。所以请建议我如何做到这一点。 这是aspx代码。
<asp:TextBox runat="server" ID="StartDateTime" CssClass="search_area_text_vm_small" onclick = "javascript:DateClick(this.id);"></asp:TextBox>
<asp:Image ID="Image1" runat="server" ImageUrl="~/images/image3.jpg" />
<asp:CalendarExtender ID="CalendarExtender1" runat="server" TargetControlID="StartDateTime" PopupButtonID="Image1" Format="yyyy-MM-dd" ></asp:CalendarExtender>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="StartDateTime"
ErrorMessage="*" SetFocusOnError="True"></asp:RequiredFieldValidator>
答案 0 :(得分:-1)
您可以使用CalendarExtender的OnClientDateSelectionChanged事件。
使用以下代码:
<asp:CalendarExtender ID="CalendarExtender1" runat="server" TargetControlID="StartDateTime" PopupButtonID="Image1" Format="yyyy-MM-dd" OnClientDateSelectionChanged="checkIfDateSelected()" >
</asp:CalendarExtender>
<javascript>
function checkIfDateSelected(){
var dateTextBox=document.getElementByid('StartDateTime');
if(dateTextBox!='')
{
alert ('Date once selected cannot be changed');
return false;
}
</javascript>
如果已经选择了日期,这将显示信息弹出并阻止表单提交。