0

こんにちは、アプリケーション全体で使用したい JavaScript を作成したので、次のように文字列を返すクラスを作成しました。

 public static string ShowAlert(string pHeader, string pMessage)
    {
        StringBuilder sb = new StringBuilder();
        sb.Append("<script language='JavaScript' type='text/javascript'>");
        sb.Append("example1('" + pHeader + "','" + pMessage + "')");
        sb.Append("</Script");
        return sb.ToString();
    }

これは私のコードですJFunction.JS

(function example1(title, content) {
    $.msgBox({
        title: title,
        content: content
    });
})

ボタンをクリックすると、次のように呼び出しています

Page.ClientScript.RegisterStartupScript(this.GetType(), "",ShowAlert(pHeader,pMessage) , true);

しかし、メッセージを取得できないため、各ページでスクリプトを呼び出す代わりに独自のメソッドを作成する方法はありますか?

4

2 に答える 2

0

ASP.NET Button コントロールには Attributes プロパティがあります。したがって、サーバー コントロールで JavaScript メソッドを呼び出したい場合は、「onclick」属性を追加するだけです。たとえば、btnAlert コントロールがあります。

Javascript ファイル:

function example1(title, content) {
    $.msgBox({
        title: title,
        content: content
    });
}

ページ読み込み時の ASP.NET コード ビハインド:

btnAlert.Attributes.Add("onclick", String.Format("example1('{0}', '{1}'); return false;", "some title", "some message"));

PostBack を防止するには、return false を追加する必要があります。ところで、クライアント側のメソッドを呼び出すためだけにコントロールが必要な場合は、一般的な html control( <button onclick='example1("<%= Resources.Title %>", "<%= Resources.Content %>")'>Example button</button>) を使用し、 を使用してタイトルとコンテンツを追加できます<%= %>

于 2013-06-02T21:05:48.760 に答える