C#后台怎样在页面里生成一个javascript函数

时间:2022-04-21 16:41:41
我想让Page在运行时,能在页面里产生一个javascript函数。
protected void Page_PreInit(object sender, EventArgs e)
{
  产生javascript函数JFun1的代码
}

11 个解决方案

#1


Respons.Write("<script>JS代码</script>"); 
注意 转义字符!

#2


把JS代码写在Response.Write()里就可以了

#3


ClientScriptManager

#4



            this.Page.ClientScript.RegisterStartupScript(this.GetType(),"","<script></script>");

#5


ClientScriptManager
用这个好
Respons.Write
用这个,有时候会造成CSS样式乱掉.

#6



方法一:1、Page.RegisterStartupScript("ggg","<script>SetVisible(1);</script>");
方法二:使用Literal类,然后

private void Button2_Click(object sender, System.EventArgs e)
...{
string str;
str="<script language='javascript'>";
str+="selectRange()";
str+="</script>";
//Literal1.Visible=true;
Literal1.Text=str;

#7


ClientScriptManager

#8


楼上的解决方法都不是很好. Response.Write和ClientScriptManager.Regist()的东西是在页面的上面,这个时候,方法体还不一定在页面中,这会导致js错误.
我感觉是在Render方法里用它的参数writer  writer.Write("<script>"+someFunction();+"</script>")

这样的结果是写在了html的最后面,好像不会破坏样式,也不会出现js错误.

#9


搞错了,应该是
writer.Write(" <script>someFunction(); </script>") 

#10


Response.Write(@"
function a()
{
...
}
");

#11


this.Page.ClientScript.RegisterStartupScript(this.GetType(),"","<script></script>");

#1


Respons.Write("<script>JS代码</script>"); 
注意 转义字符!

#2


把JS代码写在Response.Write()里就可以了

#3


ClientScriptManager

#4



            this.Page.ClientScript.RegisterStartupScript(this.GetType(),"","<script></script>");

#5


ClientScriptManager
用这个好
Respons.Write
用这个,有时候会造成CSS样式乱掉.

#6



方法一:1、Page.RegisterStartupScript("ggg","<script>SetVisible(1);</script>");
方法二:使用Literal类,然后

private void Button2_Click(object sender, System.EventArgs e)
...{
string str;
str="<script language='javascript'>";
str+="selectRange()";
str+="</script>";
//Literal1.Visible=true;
Literal1.Text=str;

#7


ClientScriptManager

#8


楼上的解决方法都不是很好. Response.Write和ClientScriptManager.Regist()的东西是在页面的上面,这个时候,方法体还不一定在页面中,这会导致js错误.
我感觉是在Render方法里用它的参数writer  writer.Write("<script>"+someFunction();+"</script>")

这样的结果是写在了html的最后面,好像不会破坏样式,也不会出现js错误.

#9


搞错了,应该是
writer.Write(" <script>someFunction(); </script>") 

#10


Response.Write(@"
function a()
{
...
}
");

#11


this.Page.ClientScript.RegisterStartupScript(this.GetType(),"","<script></script>");