Javascript 从代码隐藏调用js函数不起作用?
我有一个函数,我想在我的aspx页面中调用js函数。我正在使用ClientScript路由。然而,我查了好几个论坛,它似乎不起作用。我希望这是一个简单的东西。我试过有没有“页面” 我的后台代码:Javascript 从代码隐藏调用js函数不起作用?,javascript,asp.net,Javascript,Asp.net,我有一个函数,我想在我的aspx页面中调用js函数。我正在使用ClientScript路由。然而,我查了好几个论坛,它似乎不起作用。我希望这是一个简单的东西。我试过有没有“页面” 我的后台代码: protected void btOpen_Click(object sender, EventArgs e) { Session["demog"] = 144; Page page = HttpContext.Current.CurrentHandler
protected void btOpen_Click(object sender, EventArgs e)
{
Session["demog"] = 144;
Page page = HttpContext.Current.CurrentHandler as Page;
page.ClientScript.RegisterStartupScript(this.GetType(), "closeWindow", "closeWin();", true);
}
js函数:
<script type="text/javascript">
function closeWin() {
alert("closing!");
GetRadWindow().close();
}
function GetRadWindow() {
var oWindow = null;
if (window.radWindow)
oWindow = window.radWindow;
else if (window.frameElement.radWindow)
oWindow = window.frameElement.radWindow;
return oWindow;
}
</script>
<telerik:RadButton ID="btnOpen" runat="server" Text="Open" OnClick="btOpen_Click">
<Icon PrimaryIconCssClass="rbOpen" PrimaryIconLeft="4" PrimaryIconTop="4"></Icon>
</telerik:RadButton>
</telerik:RadAjaxPanel>
函数closeWin(){
警报(“关闭!”);
GetRadWindow().close();
}
函数GetRadWindow(){
var oWindow=null;
if(window.radWindow)
oWindow=window.radWindow;
else if(window.frameElement.radWindow)
oWindow=window.frameElement.radWindow;
返回oWindow;
}
我有一个取消按钮,它将closeWin()作为onClientClick调用,并且工作正常。这可能是因为我使用的是onClick,而不是onClientClick或其他什么吗?尝试使用ScriptManager
ScriptManager.RegisterStartupScript(Page, typeof (Page), UniqueID,
"closeWin();", true);
您的OnClick将调用btOpen\u Click服务器端代码。这不是你想要的吗?是的,然后我想在btOpen的末尾调用js函数_Click@WillTuttle-研究jQuery和调用服务器端来完成任务的方法,而不是试图让ASP.NET页面生命周期与JavaScript配合良好。我建议使用ASP.NET页面方法将数据保存到服务器端会话缓存,然后jQuery AJAX调用的成功回调可以调用您的
closeWin()
函数。如果您越是远离ASP.NET后期处理周期,那么在尝试获取客户端功能时就会省去很多麻烦。看看这个问题:这与您的问题类似。