c#怎么在后台调用前台js函数?

2024-12-24 22:25:12
推荐回答(5个)
回答1:

在服务器端的后台代码Button_Click事件中调用一个JS写的方法
protected void btnShow_Click(object sender, EventArgs e)
{
//这是Button处理事件的第一句 调用客端的js函数
Page.RegisterStartupScript("showDiv", "");//但是VS会提示这种方法已经过时了,但是还是可以使用的!如果比较介意可以使用以下几种替代
第一种:Page.RegisterClientScriptBlock("showDiv", "");
第二种:ScriptManager.RegisterClientScriptBlock("这个比较麻烦,所以虽然比较新 我还是比较喜欢使用过时的 新的总是兼容后面 所以不用担心过时的问题");
第三种:ScriptManager.RegisterStartupScript("这个比较麻烦,所以虽然比较新 我还是比较喜欢使用过时的 新的总是兼容后面 所以不用担心过时的问题");
还有很多方法 选中上面的关任意键字 F1自己看VS帮助吧。。。。。。

//-------下面继续写你客户端要做的处理操作

}

回答2:

纠正一下,你的理解有误。
js和c#运行的时间不同步,位置不一样。
c#是在服务端运行,将结果生成html包发送到用户浏览器。这个时候,浏览器解析html并运行js。所有不存在c#调用js。
正确方式是这样的,js在发送到浏览器之前,也就是c#运行的时候,只是字符串而已,不具备运行条件。所以,你要调用js,事实上,是要通过c#拼凑出源代码(在浏览器上按右键,查看源代码),只要这个源代码在浏览器上没有错误,能够执行,就ok了。

回答3:

后台是没办法条用前台事件的,应为JS函数式发送给浏览器执行的,后台代码是在服务器端执行的。

唯一的方法就是你在后台像页面写入一个JS语句调用ceshi()
例如:
string script = ""
ClientScript.RegisterClientScriptBlock(this.GetType(), "_BaseClientScript", script);
你可以学习一下ScriptManager ClientScript类的方法。

回答4:

确定是 “后台按钮事件?”
试试这个~~~
protected void btnShow_Click(object sender, EventArgs e)
{
btnShow.Attribute.Add("onclick","ceshi()");
}

回答5:

页面加个 Literal 控件,按钮事件里 Literal.Text="";