Asp.net 无法从Codebehind调用Javascript
我知道我的问题很常见,类似的问题在这里被问过很多次,但我的问题有些不同。我正在开发ASP.NET4.0Web应用程序,在我需要的页面上有AJAXToolkit4日历控件、toolkitscript管理器和一些ASP控件。现在,从弹出窗口中,我正在单击按钮进行保存操作。我想要的是在成功保存后关闭弹出窗口。问题不在于保存,而是在保存后自动关闭弹出屏幕。我尝试过以下方法:Asp.net 无法从Codebehind调用Javascript,asp.net,c#-4.0,Asp.net,C# 4.0,我知道我的问题很常见,类似的问题在这里被问过很多次,但我的问题有些不同。我正在开发ASP.NET4.0Web应用程序,在我需要的页面上有AJAXToolkit4日历控件、toolkitscript管理器和一些ASP控件。现在,从弹出窗口中,我正在单击按钮进行保存操作。我想要的是在成功保存后关闭弹出窗口。问题不在于保存,而是在保存后自动关闭弹出屏幕。我尝试过以下方法: RegisterStartUpScriptBlock(this.GetType,“closeForm”,“return windo
我想我已经尝试了所有的方法,我可以。我觉得我迷路了。如果您使用页面上的脚本管理器 首先在html中创建一个函数来关闭js中的日历
function closeCalendar(){
....
}
然后在codebehind上使用此函数调用该js函数
string script = string.Format(@"closeCalendar()");
ScriptManager.RegisterClientScriptBlock(this, typeof(Page), UniqueID, script, true);
如果您所指的弹出窗口是AJAX工具包模式弹出窗口,那么只需调用
popup.Hide()代码>在代码隐藏中
如果是浏览器窗口,是否尝试从代码中删除返回部分
请注意,除非通过window.open()
打开弹出窗口,否则windows.close()
将不起作用
另外,您是否尝试将脚本标记放在占位符控件中,该控件在默认情况下是隐藏的(服务器端可见=false),并且仅在需要时显示 )-(我没有使用脚本管理器。Ajax控件工具包3.5+不允许使用asp脚本管理器。我认为toolkitscriptmanager是发生这种情况的主要原因。toolkitscriptmanager可能有一些变化……但我不熟悉该控件或Ajaxtoolkit 3.5+我相信他将日历称为“弹出窗口”1.不,这是一个modaldialog,2.我已经尝试了两种方法来关闭window.window.close()和self.close,有返回和无返回…请帮助我我,我被卡住了,你尝试调用类似modaldialog.Hide()的东西;在codebehind代码中?ModalDialog扩展器难道没有ID吗?让我们说ModalDialogExtender1?在按钮单击事件调用ModalDialogExtender1.Hide()中;抱歉,它不是模态对话框扩展器,它是一个普通的浏览器模态对话框,我使用window.showmodaldialog()打开的。。