0

プロジェクトでradcontrolsを使用していて、radTextboxesが特殊文字を許可しないように制限したいので、aspxページ内でスクリプト関数を使用していますが、プロジェクト全体でこれを使用したいので、その関数からのjavascriptファイルを使用したいので、テキストボックスIDと通知IDを関数に渡す方法について教えてください。これが私のコードです

aspx

スクリプトファイル

function valueChangedHandler(sender, eArgs) {alert("Done");
    var pattern = /^[a-zA-Z0-9\s]*$/;
    var value = sender.get_value();
    var matchArray = value.match(pattern);
    if (matchArray == null) {
        var notification = $find("<%=lblNotification.ClientID %>");
        notification.set_text('Enter AlphaNumerics Only!');
        notification.show();
        sender.clear();
        sender.focus();
        exit();
    }

}

通知コード

 <telerik:RadNotification runat="server" BorderColor="Black" BorderStyle="Solid" BackColor="ActiveBorder" BorderWidth="4" EnableRoundedCorners="true" EnableShadow="true" ID="lblNotification" Position="BottomRight" ShowCloseButton="true" Opacity="90" Title="Result" VisibleTitlebar="False">

            </telerik:RadNotification>

上記は正常に動作していますが、通知メッセージが表示されないので、通知IDを渡す方法を教えてください。小さな例で。

4

1 に答える 1

0

外部JSファイルでサーバーコードブロックを使用することはできません。これらは、サーバーによってaspx/ascxファイルでのみ解析されます。できることは、目的の参照を返す通知があるページで関数を宣言することです。

function getNotification(){
     return $find("<%=lblNotification.ClientID %>");
}

次に、JSファイルの関数がこの関数を呼び出します。

var notification = getNotification();

外部ファイルでClientIDを使用する方法は他にもあります。たとえば、ページのグローバル変数に配列を作成しますが、ハードコードされたIDに依存したくない場合は、ページにコードが含まれます。ええと、コードビハインドからスクリプトを挿入することもできますが、大きな違いはありません。

于 2012-08-17T13:52:57.263 に答える