尝试从服务器端打开RadWindow时,在Javascript中将错误显示为“空引用”

时间:2019-02-18 18:21:37

标签: asp.net .net vb.net telerik telerik-grid

我已经在aspx页面中创建了Rad窗口,并在按钮click方法中编写了用于在VB.Net中打开radwindow的代码,但是出现错误,窗口没有打开。

radWinChCode.NavigateUrl = "buildchrcd.aspx?BU=" & strBU & "&USER=" & strChgCdUser & "&HOME=N&FROMRAD=RAD"
    radWinChCode.OnClientClose = "OnClientClose"
    radWinChCode.Title = "Enter Charge Code"
    Script = "function f(){$find(""" + radWinChCode.ClientID + """).show(); Sys.Application.remove_load(f);}Sys.Application.add_load(f);"
    ScriptManager.RegisterStartupScript(Page, Page.GetType(), "key", script, True)

第48行的脚本块第14列中有未处理的异常

0x800a138f-JavaScript运行时错误:无法获取未定义或空引用的属性“ show”

2 个答案:

答案 0 :(得分:0)

请确保:

  • 您正在使用的RadWindow实例实际上已添加到页面中

  • 如果您使用的是AJAX,请确保它参与了响应

  • 该字符串不包含字符定界符,例如引号和撇号可能会破坏字符串本身

答案 1 :(得分:0)

该问题很可能是由于RadWindow的Visible属性设置为False所致。在这种情况下,控件不会在页面上呈现,因此ClientSide脚本无法获取对该页面的引用。

假定RadWindow的Visible属性设置为false:

<telerik:RadWindow ID="radWinChCode" runat="server"  Height="800px" Width="1024px" Visible="false"></telerik:RadWindow>
</telerik:RadAjaxPanel>

在Button Click事件处理程序中将Window的Visible属性设置为True:

Protected Sub RadButton1_Click(sender As Object, e As EventArgs)
    radWinChCode.Visible = True 'Make the window be rendered on the page

    radWinChCode.NavigateUrl = "buildchrcd.aspx?BU=" & strBU & "&USER=" & strChgCdUser & "&HOME=N&FROMRAD=RAD"
    radWinChCode.OnClientClose = "OnClientClose"
    radWinChCode.Title = "Enter Charge Code"
    Dim myScript = "function f(){$find(""" + radWinChCode.ClientID + """).show(); Sys.Application.remove_load(f);}Sys.Application.add_load(f);"
    ScriptManager.RegisterStartupScript(Page, Page.GetType(), "key", myScript, True)
End Sub