<head runat="server">
<title>跨页面多选</title>
<script type="text/javascript">
function AddId(obj)
{
var hidden = document.getElementById('HiddenSelect');
if(obj.checked)
{
hidden.value += "," + obj.value;
}
else
{
hidden.value = hidden.value.replace("," + obj.value , " ");
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<table cellpadding="0" cellspacing="0" border="0" align="center">
<tr>
<td align="center">
<asp:DataGrid runat="server" ID="dg" AutoGenerateColumns="False" AllowPaging="True" BorderStyle="None" GridLines="Horizontal" PageSize="3" OnPageIndexChanged="dg_PageIndexChanged" OnItemDataBound="dg_ItemDataBound">
<PagerStyle Mode="NumericPages" BorderStyle="None" BackColor="White" Font-Size="12px" />
<AlternatingItemStyle BackColor="#CCCCCC" BorderStyle="None" />
<ItemStyle BackColor="#F7F7F7" BorderStyle="None" Font-Size="12px" />
<HeaderStyle BackColor="LightSkyBlue" BorderStyle="None" Font-Bold="True" Font-Size="12px" Height="25px" />
<Columns>
<asp:TemplateColumn HeaderText="计划名称">
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem,"MealPlan_Name") %>
<font style="color:Red">(<%#MenuPlan.GetWeek((DateTime)DataBinder.Eval(Container.DataItem,"MealPlan_DateTime")) %>)</font>
<%#DataBinder.Eval(Container.DataItem,"MealPlan_DateTime") %>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" />
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="我要订餐">
<ItemTemplate>
<input type="checkbox" runat="server" id="chk" value='<%#DataBinder.Eval(Container.DataItem,"MealPlan_Id") %>' οnclick="AddId(this);" />
<asp:Literal runat="server" ID="lr" Text='<%#DataBinder.Eval(Container.DataItem,"MealPlan_Id") %>' Visible="false"></asp:Literal>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
<asp:HiddenField runat="server" ID="HiddenSelect" />
<input type="button" id="aa" name="aa" οnclick="alert(document.all.HiddenSelect.value)" />
</td>
</tr>
</table>
</form>
</body>
CS代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
Grid();
}
}
private void Grid()
{
DataTable dt = MenuPlan.GetAllPlan(0);
this.dg.DataSource = dt.DefaultView;
this.dg.DataBind();
}
protected void dg_PageIndexChanged(object source, DataGridPageChangedEventArgs e)
{
this.dg.CurrentPageIndex = e.NewPageIndex;
this.Grid();
}
protected void dg_ItemDataBound(object sender, DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
{
HtmlInputCheckBox chk = (HtmlInputCheckBox)e.Item.Cells[1].FindControl("chk");
Literal lr = (Literal)e.Item.Cells[1].FindControl("lr");
if (this.HiddenSelect.Value.IndexOf(lr.Text) >= 0)
{
chk.Checked = true;
}
else
{
chk.Checked = false;
}
}
}