1

テキスト ボックスに ajax ツールキット カレンダー エクステンダーが接続されており、日付がテキスト ボックスに入力された後に OnTextChanged を起動しようとしています。

問題は、ユーザーが手動でデータを入力したくないので、テキストボックスを無効にしましたが、無効になっているテキストボックスに対してイベントが発生しません。

とにかくその周りにありますか?ラベルに変更しようと思ったのですが、OnTextChanged イベントがありません。

ありがとう

<asp:TableCell CssClass="cssWidth" Width="150px">
            <asp:CalendarExtender ID="CalendarExtender1" PopupButtonID="Image1" runat="server" TargetControlID="TextBoxAddDate" Format="dd/MM/yyyy"></asp:CalendarExtender>
            <asp:TextBox ID="TextBoxAddDate" ReadOnly="true"  CssClass="cssWidth" ToolTip="תאריך הוספה" runat="server" Style="font-size: large;background-color:aliceblue;" AutoPostBack="true" AutoCompleteType="Search" MaxLength="0" TextMode="SingleLine" OnTextChanged="txtSearch_TextChanged" ViewStateMode="Enabled" autocomplete="off" >      
            </asp:TextBox>&nbsp
            <asp:ImageButton runat="Server" ID="Image1"
   ImageUrl="~/Calendar_scheduleHS.png" AlternateText="Click to show calendar" /><br />

        </asp:TableCell>
4

2 に答える 2

0

Enabled = false の代わりに ReadOnly を使用できますか?

更新: わかりました、これは私のために働いた完全な解決策です:

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
    CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
<script type="text/javascript">
    function dateSelectionChanged(x) {
        debugger;
        javascript: __doPostBack('TextBoxAddDate', '')
    }
</script>
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
    <h2>
        Welcome to ASP.NET!
    </h2>
    <p>
        To learn more about ASP.NET visit <a href="http://www.asp.net" title="ASP.NET Website">www.asp.net</a>.
    </p>
    <p>
        You can also find <a href="http://go.microsoft.com/fwlink/?LinkID=152368&amp;clcid=0x409"
            title="MSDN ASP.NET Docs">documentation on ASP.NET at MSDN</a>.
    </p>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
            <asp:CalendarExtender ID="CalendarExtender1" PopupButtonID="Image1" runat="server" TargetControlID="TextBoxAddDate" Format="dd/MM/yyyy" OnClientDateSelectionChanged="dateSelectionChanged" ></asp:CalendarExtender>
            <asp:TextBox ID="TextBoxAddDate" CssClass="cssWidth" ToolTip="תאריך הוספה" runat="server" Style="font-size: large;background-color:aliceblue;" AutoCompleteType="Search" MaxLength="0" TextMode="SingleLine" OnTextChanged="txtSearch_TextChanged" ViewStateMode="Enabled"> 
            </asp:TextBox>&nbsp
            <asp:ImageButton runat="Server" ID="Image1"
   ImageUrl="~/Calendar_scheduleHS.png" AlternateText="Click to show calendar" /><br />
   </ContentTemplate>
        </asp:UpdatePanel>
</asp:Content>

CalendarExtender使用するテキストボックスからイベントを「盗む」ようです。このアプローチを使用して、OnTextChangedイベントを発生させることができ、ハンドラーtxtSearch_TextChangedが実行されました。

于 2013-02-01T13:02:56.810 に答える
0

テキストボックスを読み取り専用にしましたか?

于 2013-02-01T13:03:03.823 に答える