一、获取控制对象的客户端引用
相关链接:Telerik Web Forms Getting Client-Side References to Control Objects | Telerik UI for ASP.NET AJAX
telerik:RadTextBox:文本选择框
telerik:RadPushButton:按钮响应
包含参数:
OnClientClicked :按钮事件
AutoPostBack="false" 自动回传,可以控制弹窗的常挂与闪窗
telerik:RadWindow:弹窗事件,可与Button关联弹出窗口
ContentTemplate:获取或设置用于显示控件内容的模板。置于弹窗事件之内
1.使用 MS AJAX 方法
通过¥find调用RadWindow1进行显示
<script>
function showRadWindow(sender, args) {
var radWindow = $find("<%= RadWindow1.ClientID %>");
radWindow.show();
}
</script>
2.使用纯 JavaScript 方法
1)使用getElemenById
方法
<script>
function showRadWindow(sender, args) {
var radWindow = document.getElementById("<%= RadWindow1.ClientID %>").control;
radWindow.show();
}
</script>
2)使用$get
方法
<script>
function showRadWindow(sender, args) {
var radWindow = $get("<%= RadWindow1.ClientID %>").control;
radWindow.show();
}
</script>
3.使用 jQuery 选择器
使用attributeEndsWith选择器
<script>
function showRadWindow(sender, args) {
var radWindow = $telerik.$("[id$='RadWindow1']").get(0).control;
radWindow.show();
}
</script>
4.使用 Telerik 方法
使用$telerik.findControl
方法
<telerik:RadPushButton runat="server" ID="RadButton1" Text="Button" OnClientClicked="showRadWindow" AutoPostBack="false" />
<asp:Panel runat="server" ID="Panel1">
<telerik:RadWindow RenderMode="Lightweight" runat="server" ID="RadWindow1">
<ContentTemplate>
<p>Some content.</p>
</ContentTemplate>
</telerik:RadWindow>
</asp:Panel>
<script>
function showRadWindow(sender, args) {
var parentElement = $get("<%= Panel1.ClientID%>");
var radWindow = $telerik.findControl(parentElement, "<%= RadWindow1.ClientID %>");
radWindow.show();
}
</script>
5.重要的 MS AJAX 事件
1)使用Sys.Application.load
事件
<script>
Sys.Application.add_load(showRadWindow)
function showRadWindow() {
var radWindow = $find("<%= RadWindow1.ClientID %>");
radWindow.show();
}
</script>
2.使用服务器端技术与客户端控件实例交互
//.net
<telerik:RadWindow RenderMode="Lightweight" runat="server" ID="RadWindow1">
<ContentTemplate>
<p>Some content.</p>
</ContentTemplate>
</telerik:RadWindow>
//c#
protected void Page_Load(object sender, EventArgs e)
{
string script = "function f(){$find(\"" + RadWindow1.ClientID + "\").show(); Sys.Application.remove_load(f);}Sys.Application.add_load(f);";
ScriptManager.RegisterStartupScript(Page, Page.GetType(), "key", script, true);
}