GridView 的CheckBox列选择 及 多参数传递

1、GridView的列设置

<asp:TemplateField HeaderStyle-CssClass="check" ItemStyle-CssClass="check">
    <HeaderTemplate>
 <input type="checkbox" onclick="selectAll(this)" />
 全选
    </HeaderTemplate>
    <ItemTemplate>
  <input name="chkIDCardNum" type="checkbox"  
  value="<%# Eval("PID") %>$<%# Eval("IdentityCard")%>$<%# Eval("PName")%>"
   <%# "1" == Eval("IsCouldDelete").ToString()?"disabled='disabled'":""%> />
    </ItemTemplate>
</asp:TemplateField>

<asp:TemplateField Visible="true" HeaderText="删除">
    <ItemTemplate>
 <asp:LinkButton id="lbtnDelete" CommandName="lbtnDelete"  runat="server" Text="删除档案"
 CommandArgument='<%# Eval("PID") +"$"+  Eval("IdentityCard")%>'
  OnClientClick="return confirm('确认删除?');"
 Visible='<%# Eval("Termination").ToString()=="1" ? false : true %>'  />
    </ItemTemplate>
</asp:TemplateField>


2、全选的Js处理

function selectAll(myself) {
    var oState = myself.checked;
    var checkboxes = document.getElementsByName("chkIDCardNum"); //获取input组
    for (var i = 0; i < checkboxes.length; i++) {
 if (checkboxes[i].disabled) {
 } else {
     checkboxes[i].checked = oState;   //选择值 
 }  
    }
}

3、后台对所选值的获取

var selectedIds = Request.Params["chkIDCardNum"].Split(',');
if (selectedIds.Length == 0)
    return;
//int[] msgIds = Array.ConvertAll<string, int>(selectedIds, s => int.Parse(s));
int[] ids = selectedIds.Select(t => int.Parse(t.Split('$')[0])).ToArray();
string[] cards = selectedIds.Select(t => t.Split('$')[1]).ToArray();

posted on 2013-01-18 14:13  freeliver54  阅读(744)  评论(0编辑  收藏  举报

导航