私はこれを持っていますUpdatePanel
:
<asp:TextBox ID="date" runat="server" />
<asp:ScriptManager ID="Manager" runat="server" />
<asp:UpdatePanel ID="setDate" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="true">
<ContentTemplate>
<asp:Label ID="checkRes" runat="server" /> <asp:Label ID="range" runat="server" />
<asp:ImageButton ID="check" runat="server" ImageUrl="../img/process.png" OnClick="check_Click" CausesValidation="false" UseSubmitBehavior="false"/>
<asp:Button ID="submit" runat="server" Text="Submit" CausesValidation="true" Enabled="false" />
<asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="setDate">
<ProgressTemplate>
<asp:Image ID="loader" runat="server" ImageUrl="~/img/loader.gif" />
</ProgressTemplate>
</asp:UpdateProgress>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="check" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
<script type="text/javascript">
var textBox = document.getElementById('<% =date.ClientID %>');
var submitButton = document.getElementById('<% =submit.ClientID %>');
textBox.onchange = function () {
submitButton.disabled = true;
};
</script>
このコードビハインドで:
protected void check_Click(object sender, EventArgs e)
{
submit.Enabled=true;
}
Button
最初は無効で、UpdatePanel
トリガー後に有効になることがわかります。date
のテキストが変更されButton
て無効になった場合が必要です。ここでJS をテストしましたがButton
、ASPXでは無効になりません。