首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用RadButton关闭RadWindow

使用RadButton关闭RadWindow
EN

Stack Overflow用户
提问于 2012-01-13 17:50:48
回答 2查看 15K关注 0票数 0

我正在尝试使用RadButton通过窗口本身(通过javascript)来关闭一个via窗口。是否可以调用脚本来关闭窗口?下面是javascript:

代码语言:javascript
复制
function getRadWindow() 
{
  var oWindow = null;
  if (window.radWindow) oWindow = window.radWindow;
  else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow;
  return oWindow;
}

function closeWindow() 
{
  getRadWindow().close();
}

这就是按钮:

代码语言:javascript
复制
<telerik:RadButton ID="CancelButton" runat="server" OnClick="closeWindow();" CssClass="clicker" Text="Cancel" UseSubmitBehavior="False" EnableEmbeddedScripts="false" CausesValidation="False" RegisterWithScriptManager="False">
</telerik:RadButton>

我已经尝试了所有的方法,脚本只有在我使用纯HTML元素的情况下才能工作,比如锚标签。如果我使用OnClick事件,当窗口打开时我会得到以下错误:Compiler Error Message: CS1026: ) expected.

我是不是遗漏了什么?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-13 20:12:00

从RadButton调用函数的方法是使用其OnClientClicked或OnClientClicking事件。然后,您只需要传递JavaScript函数的名称,而不需要使用括号。OnClick是服务器处理程序的属性,这也是常规asp按钮的情况。试试这个:

代码语言:javascript
复制
<telerik:RadButton ID="CancelButton" runat="server" OnClientClicked="closeWindow" AutoPostBack="false" CssClass="clicker" Text="Cancel" UseSubmitBehavior="False" EnableEmbeddedScripts="false" CausesValidation="False" RegisterWithScriptManager="False">

注AutoPostBack属性设置为false以防止回发。

票数 2
EN

Stack Overflow用户

发布于 2012-04-10 23:45:52

我不确定我是否改进了这个答案,我只是想让它更容易理解。我有一个从主页打开的rad窗口。Code窗口是在后台代码(C#)中打开的,而不是Javascript。当我的用户单击RadWindow上的Save按钮时,它会执行一些逻辑任务,然后关闭Save窗口本身。你只需要:

将此代码块放入您的RadWindow aspx.....

代码语言:javascript
复制
<telerik:RadCodeBlock runat="server" ID="rcb1">
<script language="javascript" type="text/javascript">

function GetRadWindow() 
{
var oWindow = null;
if (window.radWindow) oWindow = window.radWindow;
else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow;
return oWindow;
}
function CloseDialog(button) 
{
GetRadWindow().close();
}  

</script>
</telerik:RadCodeBlock>

在执行预关闭逻辑后,将此代码放入RadWindow的按钮单击中(执行其他逻辑的按钮将关闭窗口)

C# ClientScript.RegisterStartupScript(typeof(string),"","CloseDialog();");

VB ClientScript.RegisterStartupScript(Me.GetType(),"","CloseDialog();")

如果你想知道如何从here后台打开radwindow,这里是我是如何做到的:

代码语言:javascript
复制
RadWindow window1 = new RadWindow();
// Set the window properties   
window1.NavigateUrl = "winStrengthChart.aspx?EMPLOYIDNAME=" + parmString;
window1.ID = "RadWindow1";
window1.Width = 800;
window1.Height = 650;
window1.VisibleStatusbar = false;
window1.Behaviors = Telerik.Web.UI.WindowBehaviors.Close | Telerik.Web.UI.WindowBehaviors.Resize | Telerik.Web.UI.WindowBehaviors.Move;
window1.VisibleOnPageLoad = true; // Set this property to True for showing window from code   
rwm1.Windows.Add(window1);
this.Form1.Controls.Add(window1);   

...AND当然,在打开窗口的主页上需要一个基本的RadWindowManager:

代码语言:javascript
复制
<telerik:RadWindowManager ID="rwm1" runat="server">
<Windows>
</Windows>
</telerik:RadWindowManager>

如果我犯了一个错误,请纠正我。

谢谢

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8848628

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档