• 跨页面实现多选(转)


    SelectMultiPages.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; else SelectMultiPage.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" onclick="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 } }
  • 相关阅读:
    MVC模式-----struts2框架(2)
    MVC模式-----struts2框架
    html的<h>标签
    jsp脚本元素
    LeetCode "Paint House"
    LeetCode "Longest Substring with At Most Two Distinct Characters"
    LeetCode "Graph Valid Tree"
    LeetCode "Shortest Word Distance"
    LeetCode "Verify Preorder Sequence in Binary Search Tree"
    LeetCode "Binary Tree Upside Down"
  • 原文地址:https://www.cnblogs.com/xh831213/p/328469.html
Copyright © 2020-2023  润新知