使用 JavaScript 将参数传递给服务器方法
我的代码隐藏页面中有一个带有字符串的公共。 我想从 javascript 调用这个方法。
我想要传递的参数是从 ddl 更改而来的变量。
所以我有这样的东西:
var value = document.getElementById('ddlContact').value;
<%=PopulateContactFields("value") %>
这传递了“值”这个词,而不是值中的数据。
我无法找出传递数据值的正确语法。
谢谢
I have a public in my code behind page that takes a string.
I would like to call this method from javascript.
The parameter that I want to pass down is variable that changes from a ddl.
So I have something like this:
var value = document.getElementById('ddlContact').value;
<%=PopulateContactFields("value") %>
This passes down the word 'value' and not the data in value.
I can't figure out the proper syntax to pass down the data in value.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
正如其他人提到的,尝试直接从 javascript 访问后面的 C# 代码是不可能的。
但是,您可以间接地与它通信。
我认为最好的办法是结合使用 jQuery 和
[WebMethod]
属性。使用 jQuery 执行 AJAX 调用的 javascript 函数:
后面的代码:
As mentioned by others, trying to access C# code behind directly from javascript is impossible.
However, you can communicate with it indirectly.
I think your best shot is to use a combination of jQuery and the
[WebMethod]
attribute.javascript function using jQuery to do an AJAX call:
Code behind:
您显示的代码在生成 HTML 时在服务器端执行。换句话说,它是在访问浏览器之前执行的,并且您的用户有机会对页面执行任何操作。
无论您在这里使用什么语法,您想要的信息此时都无法访问 - 它还不存在。
这里正确的方法是通过发布页面或使用 AJAX 将此信息发送到服务器,然后在请求/响应周期的末尾进行处理
另一种选择是使用 Javascript 进行处理客户端
The code you are showing is executed server side when the HTML is generated. In other words it is executed BEFORE it hits the browser and your user had a chance to do anything with the page.
No matter what syntax you would use here the information you want cannot be accessed at this time - it does not exist yet.
The right approach here is to sent this information to the server either by posting the page or using AJAX and then, on the tail end of request/response cycle do your processing
Another option would be to do the processing client side using Javascript