どっとねっとふぁん

C# Tips And Samples
in 検索

15.クライアントスクリプトを追加する

最新の投稿は、投稿日時: 06-23-2005, 4:52 午後 投稿者: ono です。スレッドには 0 件の返答があります。
投稿のソート: 前へ 次へ
  •  06-23-2005, 4:52 午後 61

    15.クライアントスクリプトを追加する

    Attributesプロパティを利用すると、WebコントロールがHTMLとしてレンダリングされる際に属性を追加することができます。
    これを利用すると、次のサンプルのようにクライアント側で動作するスクリプトを追加することが可能です。
    -------------------------------------------------------
    <%@ Page Language="C#" %>
    <html>
    <head>
    <script runat="server">
    public void Page_Load(Object sender, EventArgs e) {
        Button1.Attributes["onclick"]="return window.confirm('登録していいですか?');";
    }
    void button_Click(Object sender, EventArgs e) 
    {
        Message.Text=intxt.Text + "が登録されました。";
    }
    </script>
    </head>
    <body>
    <form runat="server">
    <asp:Textbox id="intxt" runat="server"/><br />
    <asp:button id="Button1" Text="登録" OnClick="button_Click" runat="server" />
    </form>
    <asp:label id="Message" runat="server"/>
    </body>
    </html>
    
    -------------------------------------------------------
    ここでは入力したデータを登録してよいかどうかの確認ウィンドウを表示させています。

    ASP.NETでは、クライアント側のスクリプトを追加するために、

    ・サブミット時の処理を登録するRegisterOnSubmitStatementメソッド
    ・ページが表示されたときに実行される処理を登録するRegisterStartupScriptメソッド
    ・その他、スクリプトをブロックとして登録するRegisterClientScriptBlockメソッド

    が用意されています。
    1行程度のスクリプトならともかく、クライアント側にそれなりの処理をさせようという場合は、これらのメソッドを利用すべきでしょう。

    RegisterOnSubmitStatementメソッドを利用して確認ウィンドウを表示するサンプルは次のようになります。
    -------------------------------------------------------
    <%@ Page Language="C#" %>
    <html>
    <head>
    <script runat="server">
    public void Page_Load(Object sender, EventArgs e) {
        RegisterOnSubmitStatement("submit", "return window.confirm('登録していいですか?');");
        if(IsPostBack)
            Message.Text=intxt.Text + "が登録されました。";
    }
    </script>
    </head>
    <body>
    <form runat="server">
    <asp:Textbox id="intxt" runat="server"/><br />
    <asp:button Text="登録" runat="server" />
    </form>
    <asp:label id="Message" runat="server"/>
    </body>
    </html>
    
    -------------------------------------------------------


    あおい情報システム株式会社
     小野修司(どっとねっとふぁん)
RSS ニュースフィードで参照
SkinName:iroha_CS2
Powered by Community Server, by Telligent Systems