1

私はASP.NETページを持っています

  1. 1タイマー(ティックイベントは更新パネルのトリガーです)
  2. 1更新パネル
  3. 1ラベル(更新パネル内)
  4. 1テキストボックス
  5. 1ウォーターマークエクステンダー(TextBox用)

テキストボックスとwatermarkextanderは更新パネルの外にあり、ページには他のオブジェクトがありますが、それらをリストしていません。タイマーはそれらに影響を与えません。テキストボックスに何かを書くときは問題ありませんが、テキストボックスが空で、透かしエクステンダーがタイマーティックでアクティブになっているときは、透かしテキストが点滅しています。

何が問題なのか?

updatepanelは正常に機能し、タイマーティックに影響を受けるオブジェクトは他にありませんが、透かしのテキストが点滅しています。

この問題について教えていただけますか?

asp.netページ:

    <script type="text/javascript">
    Sys.Application.add_load(function () {
        WebForm_OnSubmit = Sys.Extended.UI.TextBoxWatermarkBehavior._originalWebForm_OnSubmit;
    });
</script>


    <div>
        <ajaxToolkit:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
        </ajaxToolkit:ToolkitScriptManager>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

        <ajaxToolkit:TextBoxWatermarkExtender ID="TextBox1_TextBoxWatermarkExtender" 
            runat="server" Enabled="True" TargetControlID="TextBox1" 
            WatermarkText="Some Text">
        </ajaxToolkit:TextBoxWatermarkExtender>

        <asp:Timer ID="Timer1" runat="server" Interval="1000" ontick="Timer1_Tick">
        </asp:Timer>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
        </ContentTemplate>
        <Triggers>
        <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
        </Triggers>
        </asp:UpdatePanel>

    </div>

CodeBehind:

protected void Timer1_Tick(object sender, EventArgs e)
{
    Label1.Text = DateTime.Now.ToLongTimeString();
}
4

1 に答える 1

1

これは、WatermarkExtender コントロールの設計機能によるものです。このような動作の理由は、透かしテキストをターゲット テキスト ボックスの値としてサーバーに送信しないようにするためです。

AFTER ScriptManager コントロールの下にスクリプトを追加することで、このような動作を回避できます。

<script type="text/javascript">
     Sys.Application.add_load(function () 
     {
          WebForm_OnSubmit = Sys.Extended.UI.TextBoxWatermarkBehavior._originalWebForm_OnSubmit;
     });
</script>

ただし、この場合、透かしテキストと等しい場合、サーバー上の透かしテキストボックスの値を明示的に無視する必要があることに注意してください。

于 2012-09-11T11:13:04.240 に答える