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+'",很头疼,求高手支招!
展开
 我来答
匿名用户
2013-12-12
展开全部
估计楼主没弄清楚<%%>这种表达式的运行机掉。
你运用了<%%>方式,这是由服务端调用的,把服务端把处理的结果连同整个html返回到你的浏览器。
你要在javascript的函数里调用cs后台的方法,C#有一种服务端的ajax机制可以实现你这个想法。但不推荐这么做。
建议用客户端的ajax机制来实现。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qq1111qq111111
2013-12-12 · TA获得超过1175个赞
知道小有建树答主
回答量:1166
采纳率:66%
帮助的人:616万
展开全部
.net不是后端有onclick事件么,直接用后端的onclick不可以?
如果要先调用js的话用cs往前端添加js引用试试,很久不写c#了,忘干净了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
似怜杉33
2013-12-11 · TA获得超过141个赞
知道小有建树答主
回答量:173
采纳率:0%
帮助的人:123万
展开全部
var tmp = '<%=test("b") %>';
追问
可是我在js定义的att并不是确定的值,只能传变量,怎么办呢?
追答
cs虽我不会,不过cs是服务端运行的,,JS是客户端运行的,,,所以cs可定先处理完, 然后整体发到客户段..
如果你的变量是服务端产生的那么将 里的 "b" 部分换成CS的变量名就行,,
可以如果你的变量是个客户端产生的,那么你只能用AJAX,访问CS,
JS是没有办法直接调用CS函数,
AJAX 是异步JavaScript,核心是JS对象XmlHttpRequest.
如果用AJAX,建议用jquery里的AJAX,都已经封装好了...
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式