跨页面实现多选(转载)

  1. SelectMultiPages.aspx中:   
  2. ------------------------------------------------------------------------------------------------------   
  3. <%@ Page EnableViewState="true" CodeBehind="SelectMultiPages.aspx.cs" Language="c#"    
  4. AutoEventWireup="false" Inherits="eMeng.Exam.SelectMultiPages" %>   
  5.   
  6. <HTML>   
  7. <HEAD>   
  8.   
  9.   
  10. <STYLE>   
  11. * {FONT-SIZE:12PX}  
  12. #Status {text-align:left}   
  13. </STYLE>   
  14. <SCRIPT language=JAVASCRIPT>   
  15. function AddRemoveValues(oChk) {    
  16. //在处理这个地方需要注意的是:你保存的值应该具有唯一性,这样才能不会替换错误的项。   
  17. if(oChk.checked)   
  18. SelectMultiPage.HdnSelectedValues.value += "," + oChk.value;    
  19. else  
  20. SelectMultiPage.HdnSelectedValues.value = SelectMultiPage.HdnSelectedValues.value.replace("," + oChk.value,"");    
  21. }   
  22. </SCRIPT>   
  23.   
  24.   
  25. <FORM id=SelectMultiPage runat="server">   
  26. <ASP:DATAGRID id=DataGrid1 runat="server" AllowPaging="True" Width="600px" AutoGenerateColumns="False" HorizontalAlign="Center">   
  27.     <ALTERNATINGITEMSTYLE BackColor="#EEEEEE"></ALTERNATINGITEMSTYLE>   
  28.     <HEADERSTYLE HorizontalAlign="Center" BackColor="#AAAADD" Font-Bold="True"></HEADERSTYLE>   
  29.     <PAGERSTYLE HorizontalAlign="Right" Visible="True" Mode="NumericPages"></PAGERSTYLE>   
  30.     <COLUMNS>   
  31.         <ASP:TEMPLATECOLUMN HeaderText="选择">   
  32.             <ITEMTEMPLATE>   
  33.                 <INPUT id=chkSelect οnclick=AddRemoveValues(this) type=checkbox value='<%#DataBinder.Eval(Container.DataItem,"Title")%>' runat="server">   
  34.             </ITEMTEMPLATE>   
  35.         </ASP:TEMPLATECOLUMN>   
  36.         <ASP:TEMPLATECOLUMN HeaderText="文章标题">   
  37.             <ITEMTEMPLATE>   
  38.                 <ASP:LITERAL id=TitleShow runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Title") %>' />   
  39.             </ITEMTEMPLATE>   
  40.         </ASP:TEMPLATECOLUMN>   
  41.         <ASP:TEMPLATECOLUMN HeaderText="发布时间">   
  42.             <ITEMTEMPLATE>   
  43.                 <ASP:LITERAL runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "CreateDate").ToString() %>' />   
  44.             </ITEMTEMPLATE>   
  45.         </ASP:TEMPLATECOLUMN>   
  46.     </COLUMNS>   
  47. </ASP:DATAGRID>   
  48. <DIV align=center>   
  49. <ASP:BUTTON id=Button1 runat="server" Text="得到所选的值"></ASP:BUTTON>   
  50. <DIV id=Status>   
  51. <ASP:LABEL id=Label1 runat="server"></ASP:LABEL>   
  52. </DIV>   
  53. <INPUT id=HdnSelectedValues type=hidden name=HdnSelectedValues runat="server">   
  54. </DIV>   
  55. </FORM>   
  56.   
  57.   
  58.   
  59.   
  60.   
  61. SelectMultiPages.aspx.cs中:   
  62. -------------------------------------------------------------------------------------------------------------   
  63. using System;   
  64. using System.Collections;   
  65. using System.ComponentModel;   
  66. using System.Data;   
  67. using System.Data.OleDb;   
  68. using System.Drawing;   
  69. using System.Web;   
  70. using System.Web.SessionState;   
  71. using System.Web.UI;   
  72. using System.Web.UI.WebControls;   
  73. using System.Web.UI.HtmlControls;   
  74.   
  75. namespace eMeng.Exam   
  76. {   
  77. /// <SUMMARY>   
  78. /// SelectMultiPages 的摘要说明。   
  79. /// </SUMMARY>   
  80. public class SelectMultiPages : System.Web.UI.Page   
  81. {   
  82. protected System.Web.UI.WebControls.Button Button1;   
  83. protected System.Web.UI.WebControls.Label Label1;   
  84. protected System.Web.UI.HtmlControls.HtmlInputHidden HdnSelectedValues;   
  85. protected System.Web.UI.WebControls.DataGrid DataGrid1;   
  86.   
  87. private void Page_Load(object sender, System.EventArgs e)   
  88. {   
  89.     // 在此处放置用户代码以初始化页面   
  90.     if(!Page.IsPostBack)   
  91.     BindData();   
  92. }   
  93. private void DataGrid1_PageIndexChanged(object source, DataGridPageChangedEventArgs e)   
  94. {   
  95.     DataGrid1.CurrentPageIndex = e.NewPageIndex;   
  96.     BindData();    
  97. }   
  98.   
  99. void BindData()   
  100. {   
  101.     OleDbConnection cn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="    
  102.         + HttpContext.Current.Server.MapPath("aspx.mdb"));   
  103.     OleDbDataAdapter da = new OleDbDataAdapter("Select Title, CreateDate from Document",cn);   
  104.     DataSet ds = new DataSet();   
  105.     da.Fill(ds);   
  106.     DataGrid1.DataSource= ds;   
  107.     DataGrid1.DataBind();   
  108. }   
  109.   
  110. private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)   
  111. {   
  112.     //重新显示所选择的项目   
  113.     if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)   
  114.     {   
  115.         if(HdnSelectedValues.Value.IndexOf(((Literal)e.Item.Cells[1].FindControl("TitleShow")).Text) >= 0 )   
  116.         {   
  117.             HtmlInputCheckBox ChkSelected = (HtmlInputCheckBox)(e.Item.Cells[0].FindControl("ChkSelect"));   
  118.             ChkSelected.Checked = true;   
  119.         }   
  120.     }   
  121. }   
  122. private void Button1_Click(object sender, System.EventArgs e)   
  123. {   
  124.     //为了显示的方便进行替换的   
  125.     Label1.Text = HdnSelectedValues.Value.Replace(",","<LI>");   
  126. }  
  127.  
  128. #region Web 窗体设计器生成的代码   
  129. override protected void OnInit(EventArgs e)   
  130. {   
  131.     //   
  132.     // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。   
  133.     //   
  134.     InitializeComponent();   
  135.     base.OnInit(e);   
  136. }   
  137.   
  138. /// <SUMMARY>   
  139. /// 设计器支持所需的方法 - 不要使用代码编辑器修改   
  140. /// 此方法的内容。   
  141. /// </SUMMARY>   
  142. private void InitializeComponent()   
  143. {       
  144.     this.DataGrid1.ItemDataBound +=    
  145.         new System.Web.UI.WebControls.DataGridItemEventHandler(this.DataGrid1_ItemDataBound);   
  146.     this.DataGrid1.PageIndexChanged +=    
  147.         new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.DataGrid1_PageIndexChanged);   
  148.     this.Button1.Click += new System.EventHandler(this.Button1_Click);   
  149.     this.Load += new System.EventHandler(this.Page_Load);   
  150.   
  151. }  
  152. #endregion     
  153.   
  154. }   
  155. }   
  156. </LI>  
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值