js调用cs带参方法问题
js:functionbutton1_onclick(){varatt="a";vartmp='<%=test("'+att+'")%>';alert(tmp);}cs:...
js: function button1_onclick() { var att="a"; var tmp = '<%=test("' + att + '") %>'; alert(tmp); }
cs:
public string test(string a) { string att=a; return att; }
调试后发现是先运行cs中的方法,再运行js的,所以att="'+att+'",如下图:
请问有什么办法让js调用cs可以成功把值赋给att?因为我要在test中把att的值传给其它方法,然而每次传出去的都是"'+att+'",很头疼,求高手支招! 展开
cs:
public string test(string a) { string att=a; return att; }
调试后发现是先运行cs中的方法,再运行js的,所以att="'+att+'",如下图:
请问有什么办法让js调用cs可以成功把值赋给att?因为我要在test中把att的值传给其它方法,然而每次传出去的都是"'+att+'",很头疼,求高手支招! 展开
3个回答
2013-12-12
展开全部
估计楼主没弄清楚<%%>这种表达式的运行机掉。
你运用了<%%>方式,这是由服务端调用的,把服务端把处理的结果连同整个html返回到你的浏览器。
你要在javascript的函数里调用cs后台的方法,C#有一种服务端的ajax机制可以实现你这个想法。但不推荐这么做。
建议用客户端的ajax机制来实现。
你运用了<%%>方式,这是由服务端调用的,把服务端把处理的结果连同整个html返回到你的浏览器。
你要在javascript的函数里调用cs后台的方法,C#有一种服务端的ajax机制可以实现你这个想法。但不推荐这么做。
建议用客户端的ajax机制来实现。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
.net不是后端有onclick事件么,直接用后端的onclick不可以?
如果要先调用js的话用cs往前端添加js引用试试,很久不写c#了,忘干净了
如果要先调用js的话用cs往前端添加js引用试试,很久不写c#了,忘干净了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
var tmp = '<%=test("b") %>';
追问
可是我在js定义的att并不是确定的值,只能传变量,怎么办呢?
追答
cs虽我不会,不过cs是服务端运行的,,JS是客户端运行的,,,所以cs可定先处理完, 然后整体发到客户段..
如果你的变量是服务端产生的那么将 里的 "b" 部分换成CS的变量名就行,,
可以如果你的变量是个客户端产生的,那么你只能用AJAX,访问CS,
JS是没有办法直接调用CS函数,
AJAX 是异步JavaScript,核心是JS对象XmlHttpRequest.
如果用AJAX,建议用jquery里的AJAX,都已经封装好了...
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询