读书人

JS调用后台函数(C#)解决思路

发布时间: 2012-05-13 16:39:43 作者: rapoo

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中 动态调用 后台方法的话,需要同步或者异步发起 请求才行
[解决办法]

探讨

调用和输出 不是一个概念

<% %> 这种方式是输出,只能在页面加载的时候 使用

你想在js中 动态调用 后台方法的话,需要同步或者异步发起 请求才行

[解决办法]
用ajax吧
[解决办法]
楼主,问题解决了没,
[解决办法]
后台:
protected string FormatStr()
{
return "测试";
}

前台:
<script type="text/javascript">
function mytest() {
var a = "<%=FormatStr()%>"
alert(a);
}
</script>

[解决办法]
探讨

引用:

调用和输出 不是一个概念

<% %> 这种方式是输出,只能在页面加载的时候 使用

你想在js中 动态调用 后台方法的话,需要同步或者异步发起 请求才行

+1

[解决办法]
调用后台方法的话,微软有封装好的控件.利用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"] %>;



o.data 是 js中定义的属性

读书人网 >asp.net

热点推荐