首页 新闻 搜索 专区 学院

关于后台调用前台js方法的问题

0
悬赏园豆:5 [已解决问题] 解决于 2010-09-25 13:50

在后台,使用ScriptManager.RegisterStartupScript方法调用后台如下js方法,不弹出提示,请教如何处理;

    function show(info)
    {
        var obj=document.getElementById("hid");
        obj.value="";
        alert(info);
    }

 

MyFavorite的主页 MyFavorite | 初学一级 | 园豆:159
提问于:2010-09-19 17:30
< >
分享
最佳答案
-1

先有一个注册函数:

/// <summary>
/// 运行脚本
/// </summary>
/// <param name="page"></param>
/// <param name="strMsg"></param>
/// <param name="location"></param>
public static void RunScript(System.Web.UI.Page page, string script)
{
System.Text.StringBuilder StrScript
= new System.Text.StringBuilder();
StrScript.Append(
"<script language=javascript>");
StrScript.Append(
"eval('" + script + "');");
StrScript.Append(
"</script>");
if (!page.ClientScript.IsStartupScriptRegistered("RunScript"))
{
page.ClientScript.RegisterClientScriptBlock(StrScript.GetType(),
"RunScript", StrScript.ToString());
}
}

 

调用如:

CommonHelper.RunScript(this, “show('路过秋天')");
收获园豆:5
路过秋天 | 老鸟四级 |园豆:4746 | 2010-09-19 23:23
提交的时候把aler(info)给丢掉了,奇怪。是调用如下函数不弹出提示框信息 function show(info) { var obj=document.getElementById("hid"); obj.value=""; alert(info); } 如果去掉var obj=document.getElementById("hid"); obj.value=""; 就可以正常弹出提示框
MyFavorite | 园豆:159 (初学一级) | 2010-09-20 11:48
@MyFavorite:能出提示就行了,至于去掉var,是不是重复定义了还是怎样这个另找原因了。
路过秋天 | 园豆:4746 (老鸟四级) | 2010-09-20 15:31
失误,hid标签搞错了
MyFavorite | 园豆:159 (初学一级) | 2010-09-25 13:49
其他回答(3)
0

说具体点

Alexis | 园豆:360 (菜鸟二级) | 2010-09-19 17:44
提交的时候把aler(info)给丢掉了,奇怪。 是调用如下函数不弹出提示框信息 function show(info) { var obj=document.getElementById("hid"); obj.value=""; alert(info); }
支持(0) 反对(0) MyFavorite | 园豆:159 (初学一级) | 2010-09-20 11:46
0

如果你想在服务端调用你在页面中的写的js函数 你可以这样做 比如一个button控件

 Button1.Attributes.Add("onclick","At('任天胜')");

三月软件工作室——任忌 | 园豆:524 (小虾三级) | 2010-09-19 19:49
提交的时候把aler(info)给丢掉了,奇怪。 是调用如下函数不弹出提示框信息 function show(info) { var obj=document.getElementById("hid"); obj.value=""; alert(info); }
支持(0) 反对(0) MyFavorite | 园豆:159 (初学一级) | 2010-09-20 11:47
你给给 info值了没有呀
0

你写的JS代码就不具备弹出提示的功能

后台这么写:

Page.ClientScript.RegisterStartupScript(this.GetType(),"key","<script>show('dd')</script>")

前台JS:

function show(info)
    {

    alert(info);
    }

yixin841210 | 园豆:1138 (小虾三级) | 2010-09-19 20:52
提交的时候把aler(info)给丢掉了,奇怪。 是调用如下函数不弹出提示框信息 function show(info) { var obj=document.getElementById("hid"); obj.value=""; alert(info); } 如果去掉var obj=document.getElementById("hid"); obj.value=""; 就可以正常弹出提示框
支持(0) 反对(0) MyFavorite | 园豆:159 (初学一级) | 2010-09-20 11:47
@MyFavorite:恩,2种可能: 1。你页面上是不是没有名为"hid"的标签了啊 2。或者是如果你用的是服务端控件的话,最终返回到客户端的时候它已经不叫"hid"了,所以找不到,你这么写看看 var obj = document.getElementById("<%=hid.ClientID%>") obj.value = "";
支持(0) 反对(0) yixin841210 | 园豆:1138 (小虾三级) | 2010-09-20 12:35

Page.ClientScript.RegisterStartupScript    为甚么写这个会报错,是不是需要导入什么包啊?  求指教

支持(0) 反对(0) 一路风景 | 园豆:140 (初学一级) | 2013-07-15 11:36
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册