在某些条件下从代码调用javascript函数

时间:2011-11-12 16:54:22

标签: c# javascript asp.net

  

可能重复:
  Calling ASP.NET Code Behind function from Javascript
  using javascript function to be called from code behind under specific condition

这是一个javascript函数。

     function openWinContentTemplate() {
     $find("RadWindow_ContentTemplate").show();
     }

我想在条件下点击按钮后面的代码调用此javascript函数:

    protected void button_click()
    {
     if(true)
        //call javascript function here
    }

2 个答案:

答案 0 :(得分:2)

你无法调用代码隐藏。 Codebehind位于服务器上,您的脚本在客户端上运行。使用代码隐藏中的RegisterStartupScript在浏览器获得响应时调用脚本。

答案 1 :(得分:1)

你可以尝试这样......

您可以将Js函数称为在代码隐藏本身上注册的脚本

Page.RegisterStartupScript("key","value")

键是您要为脚本提供的名称

示例

"PageClose"

值是

stringBuilder str = new StringBuilder()
str.Append("<script = language='javascript'>");
str.Append("window.close();");
str.Append("</script>")

在这里,而不是使用window.close你可以附加你的js function as a string,理想情况下我把这个字符串构建器类放在构造函数中,如果我总是在页面中需要它的话。

然后在要执行脚本的事件处理程序中使用它

Page.RegisterStartUp("PageClose",str.ToString());

这会将javascript放在呈现的页面的结束标记之前

Page.ClientScriptBlock("PageClose",str.ToString());

这会将JS函数放在呈现的页面的开始标记

之后

希望这有帮助