<script type="text/javascript">
function GetInfo() {
var gv = document.getElementById("People"); //获取GridView的客户端ID
var myradio = gv.getElementsByTagName("input"); //获取GridView的Inputhtml
for (var i = 0; i < myradio.length; i++) {
if (myradio[i].checked) {
alert(i.toString());//将i的值传入后台
}
}
}
</script>
你的意思是 不刷新页面的情况下传值么,如果提交请求的过程中传值方法太多了,什么QueryString,控件传值,等,如果不是请求的过程,可以用ajax
就是我点击一个按钮,调用js里面的这个函数,遍历选中的radiobutton,记录选中的行,从而获取字段ID的值,在后台使用
@岁月无痕,心中无泪:
你可以赋值给服务器控件,后台直接调用服务器控件的值就 ok了
@xiaoxiao刀: 不行的,我试过,不行
var id = document.getElementById("label");
id.innerHTML = i;
@岁月无痕,心中无泪:
估计是你写法不对 ,你百度下给服务器控件赋值,和取值,
@xiaoxiao刀: ajax怎么用,求举例,我在js改变控件的值,可是页面刷新后就又变回原来的值了
@岁月无痕,心中无泪:
你点击button的同时在 click事件中获取 刚才你设置的值
这个是 ajax 的例子
http://zhidao.baidu.com/link?url=qsiNjL7WpywWWfvd-L0wYAQscFBBIoBRdV-oD2cqodFoTtew74JyEbtRHUzq0R_E7VGJL6J5K62Rd5KShuxTG_
后台声明一个属性,前台<%%>
session,cookie,ajax,http的get请求头部传参
JS里面定义一个数组,循环的时候将I的值push到数组里面,Ajax传参的时候序列化数组为字符串,后台反序列化一下遍历成数组就行了
//举个栗子(以下伪代码举例用,视具体情况去实现)
var arr=new Array();
for(...){arr.push(i);}
var iStr=JSON.stringify(arr);
$.post("地址",{"iStr":iStr},function(data){回调},"JSON");
弄个隐藏域,前台用js把需要传的值赋值到隐藏域里,然后后台直接读取隐藏域的值,就可以了
function(){ var gv = document.getElementById("People"); //获取GridView的客户端ID var myradio = gv.getElementsByTagName("input"); //获取GridView的Inputhtml for (var i = 0; i < myradio.length; i++) { if (myradio[i].checked) { $.ajax({ type: "post", url: "url", data: "{ 'radioId': '" + i+ "'}", contentType: "application/json;", dataType: "json", success: function (data) { //operation }, error: function (XMLHttpRequest, textStatus, errorThrown) { //operation } }); } } }
C#这样写:
[WebMethod] public List<Model> Abc(string id) {
//operation return new List<Model>(); }
sorry but the webmethod should be "static".
Ajax 传值