JS调用后台函数(C#)
根据网上的方法都没办法实现
C#
public void TEST()
{
ClientScript.RegisterStartupScript(GetType(), "", "<script type='text/javascript' >alert('test success');</script>");
}
html
<script type='text/javascript' >
function mytest(){
//document.getElementById("t1").click();
<%=TEST()%>
//以上二种办法都试过,没有反应,下面的还提示错误
}
<a href="#" onclick="mytest()" >test function</a>
我的平台是 vs2010
</script>
------解决方案--------------------后台:
protcted string FormatStr()
{
return "测试";
}
前台:
<%= FormatStr() %>
运行试试
------解决方案--------------------你这样肯定没有反应了,JS可以执行后台的函数,但必须通过AJAX,否则,在服务器同步返回数据的情况下,你这条语句是没有效果的
另外说一句,在JS中,<%=xxx %>这样的语句不是用来执行后台函数的,而是用来获取后台的全局变量的值的
比如:
<script type='text/javascript'>
var s = '<%=session("uid"> %>;
alert(s);
</script>
------解决方案--------------------调用和输出 不是一个概念
<% %> 这种方式是输出,只能在页面加载的时候 使用
你想在js中 动态调用 后台方法的话,需要同步或者异步发起 请求才行
------解决方案--------------------
------解决方案--------------------用ajax吧
------解决方案--------------------楼主,问题解决了没,
------解决方案--------------------后台:
protected string FormatStr()
{
return "测试";
}
前台:
<script type="text/javascript">
function mytest() {
var a = "<%=FormatStr()%>"
alert(a);
}
</script>
------解决方案--------------------
------解决方案--------------------调用后台方法的话,微软有封装好的控件.利用ajax异步调用.
HTML code
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">
</asp:ScriptManager>
<input type="button" onclick="PageMethods.JavaScriptTest('js',function(result){alert(result);})" value="调用后台方法"/>
------解决方案--------------------
此连接是JS调用后台方法实现的省市级联(相当于AJAX调用后台方法)
http://bbs.0710soft.com/showtopic-962.html
------解决方案--------------------
http://www.15ae.com/archive/2011-12/06095738255.html你看看这个,其实就是运用ajax
------解决方案--------------------
lz教你一个简单的方法 放一个linkbutton
你所谓的函数操作写在 linkbtn 点击事件里面
然后 js里面__doPostBack(事件名)就可以了
------解决方案--------------------
用一般处理程序 和 js+ajax 处理很方面的 楼主可以去找找
------解决方案--------------------
用jquery + ajax 来实现
下面是个例子,在js中写的:
o.data = <%=ViewData["treedata"] %>;