在ASP.NET中跨页面实现多选
发布日期:2021-06-30 19:00:48
浏览次数:3
分类:技术文章
本文共 4595 字,大约阅读时间需要 15 分钟。
作者:孟宪会 微软MVPSelectMultiPages.aspx
<%@ Page EnableViewState="true" CodeBehind="SelectMultiPages.aspx.cs" Language="c#"
AutoEventWireup="false" Inherits="eMeng.Exam.SelectMultiPages" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><title>跨页面实现多选</title><META http-equiv="content-type" content="text/html; charset=gb2312"><style>* {FONT-SIZE:12PX}#Status {text-align:left}</style><script language="JAVASCRIPT">function AddRemoveValues(oChk) { //在处理这个地方需要注意的是:你保存的值应该具有唯一性,这样才能不会替换错误的项。if(oChk.checked)SelectMultiPage.HdnSelectedValues.value += "," + oChk.value; elseSelectMultiPage.HdnSelectedValues.value = SelectMultiPage.HdnSelectedValues.value.replace("," + oChk.value,""); }</script></HEAD><BODY><form id="SelectMultiPage" runat="server"><asp:datagrid id="DataGrid1" HorizontalAlign="Center" AutoGenerateColumns="False" Width="600px" AllowPaging="True" runat="server"> <AlternatingItemStyle BackColor="#EEEEEE"></AlternatingItemStyle> <HeaderStyle BackColor="#AAAADD" Font-Bold="True" HorizontalAlign="Center"></HeaderStyle> <PagerStyle HorizontalAlign="Right" Mode="NumericPages" Visible="True"></PagerStyle> <Columns> <asp:TemplateColumn HeaderText="选择"> <ItemTemplate> <input type="checkbox" runat="server" id="chkSelect" οnclick="AddRemoveValues(this)" value='<%#DataBinder.Eval(Container.DataItem,"Title")%>'/> </ItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="文章标题"> <ItemTemplate> <asp:Literal Text='<%# DataBinder.Eval(Container.DataItem, "Title") %>' runat="server" ID="TitleShow"/> </ItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="发布时间"> <ItemTemplate> <asp:Literal Text='<%# DataBinder.Eval(Container.DataItem, "CreateDate").ToString() %>' runat="server"/> </ItemTemplate> </asp:TemplateColumn> </Columns></asp:datagrid><div align=center><asp:button id="Button1" runat="server" Text="得到所选的值"></asp:button><div id="Status"><asp:label id="Label1" runat="server"></asp:label></div><INPUT id="HdnSelectedValues" type="hidden" name="HdnSelectedValues" runat="server"></div></form></BODY></HTML>SelectMultiPages.aspx.cs
using System;
using System.Collections;using System.ComponentModel;using System.Data;using System.Data.OleDb;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls;namespace eMeng.Exam
{ /// <summary>/// SelectMultiPages 的摘要说明。/// </summary>public class SelectMultiPages : System.Web.UI.Page{ protected System.Web.UI.WebControls.Button Button1;protected System.Web.UI.WebControls.Label Label1;protected System.Web.UI.HtmlControls.HtmlInputHidden HdnSelectedValues;protected System.Web.UI.WebControls.DataGrid DataGrid1;private void Page_Load(object sender, System.EventArgs e)
{ // 在此处放置用户代码以初始化页面 if(!Page.IsPostBack) BindData();}private void DataGrid1_PageIndexChanged(object source, DataGridPageChangedEventArgs e){ DataGrid1.CurrentPageIndex = e.NewPageIndex; BindData(); }void BindData()
{ OleDbConnection cn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + HttpContext.Current.Server.MapPath("aspx.mdb")); OleDbDataAdapter da = new OleDbDataAdapter("Select Title, CreateDate from Document",cn); DataSet ds = new DataSet(); da.Fill(ds); DataGrid1.DataSource= ds; DataGrid1.DataBind();}private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{ //重新显示所选择的项目 if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { if(HdnSelectedValues.Value.IndexOf(((Literal)e.Item.Cells[1].FindControl("TitleShow")).Text) >= 0 ) { HtmlInputCheckBox ChkSelected = (HtmlInputCheckBox)(e.Item.Cells[0].FindControl("ChkSelect")); ChkSelected.Checked = true; } }}private void Button1_Click(object sender, System.EventArgs e){ //为了显示的方便进行替换的 Label1.Text = HdnSelectedValues.Value.Replace(",","<li>");}#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e){ // // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e);}/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改/// 此方法的内容。/// </summary>private void InitializeComponent(){ this.DataGrid1.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.DataGrid1_ItemDataBound); this.DataGrid1.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.DataGrid1_PageIndexChanged); this.Button1.Click += new System.EventHandler(this.Button1_Click); this.Load += new System.EventHandler(this.Page_Load);}
#endregion}
}转载地址:https://linuxstyle.blog.csdn.net/article/details/149743 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月07日 23时07分56秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
SVM进行人脸检测
2019-04-30
C++学习笔记
2019-04-30
图像处理学习笔记
2019-04-30
Machine Learning Onramp on MATLAB 学习笔记
2019-04-30
Machine Learning with MATLAB 1.1 to 2.2
2019-04-30
Learning DSP with MATLAB
2019-04-30
用MATLAB实现m序列的生成(MATLAB 2021a适用)
2019-04-30
MATLAB函数备忘(定期更新)
2019-04-30
13行MATLAB代码实现网络爬虫 爬取NASA画廊星图
2019-04-30
MATLAB指定路径保存图片方法
2019-04-30
Python一键获取微信推送封面图
2019-04-30
油猴脚本:微信推送浏览功能拓展
2019-04-30
JavaScript DOM对象操作详解
2019-04-30
JavaScript 表单操作与MD5加密
2019-04-30
JAVA学习笔记4 - 循环与分支结构
2019-04-30
JAVA学习笔记6 - 数组
2019-04-30
JAVA学习笔记8 - Stream 和 File I/O
2019-04-30
JAVA学习笔记9 - 异常
2019-04-30
JAVA学习笔记10 - 继承
2019-04-30