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 回答