62,041
社区成员
发帖
与我相关
我的任务
分享
asp:Content ID="Content2" ContentPlaceHolderID="contentContentPlaceHolder" runat="server">
<table border="0" cellpadding="0" cellspacing="0">
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<tr>
<th colspan="5">
身份证号列表
</th>
</tr>
<tr>
<td>
序号
</td>
<td>
身份证号
</td>
<td>
姓名
</td>
<td>
状态
</td>
<td>
全选<input type="checkbox" name="a" value="" />
</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td style="display: none">
<label class="mingxiid"><%#Eval("MingxiId")%></label>
</td>
<td>
<%#this.Repeater1.Items.Count + 1%>
</td>
<td>
<%#Eval("Idcard")%>
</td>
<td>
<%#Eval("Name")%>
</td>
<td>
<%#Eval("State")%>
</td>
<td>
<input type="checkbox" name="b" value="" />
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
<asp:Button ID="Button1" class="btn" runat="server" Text="确认预约"
onclick="Button1_Click" />
<asp:Button ID="Button2" class="btn" runat="server" Text="取消预约" />
<asp:Button ID="Button3" class="btn" runat="server" Text="返回"
onclick="Button3_Click" />
//js
function GetID()
{
$("#<%= hidIDS.ClientID%>").val(ids);
}
<asp:HiddenField runat="server" ID="hidIDS" />
<asp:Button runat="server" ID="btnDoSoThing" OnClick="btnDoSoThing_Click" OnClientClick="GetID" Text="开始预约" />
string ids = hidIDS.Value;//1,2,3
string[] idArray = ids.Split(',');//ID的数组
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.Master" AutoEventWireup="true"
CodeBehind="yuyuemingxi.aspx.cs" Inherits="GalasysWebSite.yuyuemingxi" %>
<asp:Content ID="Content1" ContentPlaceHolderID="headContentPlaceHolder" runat="server">
<script src="http://localhost:5942/js/jquery-1.8.2.min.js" type="text/javascript"></script>
<style type="text/css">
td
{
border: 1px solid #3333;
width: 100px;
}
table
{
text-align: center;
}
</style>
<script type="text/javascript">
$(function () {
$('span[name="a"]> input').click(function () {
var xzzt = $(this).prop("checked");
$('span[name="b"]> input').prop("checked", xzzt);
});
});
</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="contentContentPlaceHolder" runat="server">
<table border="0" cellpadding="0" cellspacing="0">
<asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand">
<HeaderTemplate>
<tr>
<th colspan="5">
身份证号列表
</th>
</tr>
<tr>
<td>
序号
</td>
<td>
身份证号
</td>
<td>
姓名
</td>
<td>
状态
</td>
<td>
<asp:CheckBox ID="CheckBox1" Name="a" Text="全选" runat="server" />
</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td style="display: none">
<asp:Label ID="Label1" runat="server" Text='<%#Eval("MingxiId")%>'></asp:Label>
</td>
<td>
<%#this.Repeater1.Items.Count + 1%>
</td>
<td>
<%#Eval("Idcard")%>
</td>
<td>
<%#Eval("Name")%>
</td>
<td>
<%#Eval("State")%>
</td>
<td>
<asp:CheckBox ID="CheckBox2" Name="b" runat="server" />
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
<asp:Button ID="Button1" class="btn" runat="server" Text="确认预约" OnClick="Button1_Click1" />
<asp:Button ID="Button2" class="btn" runat="server" Text="取消预约" OnClick="Button2_Click" />
<asp:Button ID="Button3" class="btn" runat="server" Text="返回" OnClick="Button3_Click" />
</asp:Content>
void Button1_Click(object sender, .... e)
{
var btn = (Button) sender;
var lbl = (Lable)btn.FindControl("Label1");
var txt = lbl.Text;
.......
}
使用 FindControl 从 button 找到与之平行在同一个 namingcontainer 内的其它控件。
进一步地,实际上有些数据你可以直接绑定到 button 自定义属性上面,而不需要求别人(别的控件)。例如 <asp:Button ID="Button1" class="btn" runat="server" Text="确认预约" MyAbc='<%# Eval("uu") %>' onclick="Button1_Click" />
那么就可以写void Button1_Click(object sender, .... e)
{
var btn = (Button) sender;
string value = btn.Attributes["MyAbc"];
.......
}
通过服务器控件的 Attributes 集合你可以得到所绑定的自定义属性的值,这样你就不用去求别的什么控件来保存按钮操作需要知道的关键值了。
学会 asp.net,学会设计理念,从这里你应该看到一点 asp.net 原理知识。而不是只看个别入门书上的简单知识。
//repeater中加载数据时
<input type="checkbox" name="name" value="" onclick="chkInfo('<%#Eval("MingxiId")%>',this)" />
//button
<input type="button" name="name" value="开始预约" onclick="javascript:alert(ids);" />
//js
<script>
var ids = [];
function chkInfo(id,obj)
{
if ($(obj).is(":checked")) {
ids.push(id);
} else {
removeByValue(ids, id);
}
}
function removeByValue(arr, val) {
for (var i = 0; i < arr.length; i++) {
if (arr[i] == val) {
arr.splice(i, 1);
break;
}
}
}
</script>