读书人

问一下如何在后台运行javascript的函数

发布时间: 2012-02-14 19:19:19 作者: rapoo

问一下怎么在后台运行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

读书人网 >asp.net

热点推荐