日期:2014-05-18  浏览次数:20452 次

问一下怎么在后台运行javascript的函数


js文件
function toggle_nav(obj)
{
for (i = 1; i<= 9; i++ )
{
  ……省略
}
}

aspx文件可以点击调用

<a href="index.aspx"><img src="images/nav_1_on.gif" alt="首页" name="nav_1" id="nav_1" onmouseover="javascript:toggle_nav(1)" /></a>


我现在想在如news.aspx.cs 里调用toggle_nav这个函数。让它一加载就能运行并,跟上面那里点击时一样的效果,请问在C#里该如何实现?


  protected void Page_Load(object sender, EventArgs e)
  {
  ……这里该如何写?……
  }



------解决方案--------------------
请查看MSDN关于Page.RegisterStartupScript的说明
------解决方案--------------------
C# code
ClientScript.RegisterClientScriptBlock(this.GetType(), "toggle", "javascript:toggle_nav(1)");

------解决方案--------------------
关注
------解决方案--------------------
这两种方法都可以:
A.
<body runat="server" id="myBody">
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
myBody.Attributes["onload"] = "jstest();";
}
}

B
 protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "Begin", "<script>jstest(); </script>");
}
}.

------解决方案--------------------
我觉得除了ScriptManager你还可以考虑将
window.onload=toggle_nav(1)放到另外一个js文件中来实现
------解决方案--------------------
Page.ClientScript.RegisterStartupScript(this.GetType(), "Begin", " <script>jstest(); </script>"); 

------解决方案--------------------
ClientScript.RegisterClientScriptBlock(this.GetType(), "Key", "javascript:toggle_nav(1)");

------解决方案--------------------
后台在服务器端的,而JS是客户端的东西。
http://www.cnblogs.com/adandelion/articles/467182.html
------解决方案--------------------
<body onload='toggle_nav(1)'>

如果要在服务器端指定参数,可以 <body runat ="server" id="body1"...>

body1.Attributes.Add("onload","toggle_nav(1)");
------解决方案--------------------
学习了
------解决方案--------------------
ClientScript.RegisterClientScript()
这个方法
------解决方案--------------------
Page.RegisterStartupScript
------解决方案--------------------
事物上添加Attributes