国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

在ASP.NET中實(shí)現(xiàn)多頁面選擇的問題

2024-07-10 12:54:54
字體:
供稿:網(wǎng)友
本文介紹如何在asp.net中實(shí)現(xiàn)多頁面選擇的問題。其具體思路很簡單:用隱藏的input記住每次選擇的項(xiàng)目,在進(jìn)行數(shù)據(jù)綁定時(shí),檢查保存的值,再在datagrid中進(jìn)行選中顯示。下面時(shí)完整的代碼和例子:

  查看例子

  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>跨頁面實(shí)現(xiàn)多選</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) {
//在處理這個(gè)地方需要注意的是:你保存的值應(yīng)該具有唯一性,這樣才能不會(huì)替換錯(cuò)誤的項(xiàng)。
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"
value='<%#databinder.eval(container.dataitem,"title")%>'/>
</itemtemplate>
</asp:templatecolumn>
<asp:templatecolumn headertext="文章標(biāo)題">
<itemtemplate>
<asp:literal text='<%# databinder.eval(container.dataitem, "title") %>' runat="server" id="titleshow"/>
</itemtemplate>
</asp:templatecolumn>
<asp:templatecolumn headertext="發(fā)布時(shí)間">
<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)
{
//重新顯示所選擇的項(xiàng)目
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)
{
//為了顯示的方便進(jìn)行替換的
label1.text = hdnselectedvalues.value.replace(",","<li>");
}

#region web 窗體設(shè)計(jì)器生成的代碼
override protected void oninit(eventargs e)
{
//
// codegen: 該調(diào)用是 asp.net web 窗體設(shè)計(jì)器所必需的。
//
initializecomponent();
base.oninit(e);
}

/// <summary>
/// 設(shè)計(jì)器支持所需的方法 - 不要使用代碼編輯器修改
/// 此方法的內(nèi)容。
/// </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

}
}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 武夷山市| 长岭县| 雅安市| 唐河县| 招远市| 繁昌县| 孟村| 蒲江县| 丁青县| 杭锦旗| 双流县| 自贡市| 南康市| 新兴县| 普安县| 高州市| 宜昌市| 寿光市| 岱山县| 连南| 汕尾市| 大余县| 咸丰县| 固安县| 庆城县| 德安县| 湘乡市| 墨脱县| 礼泉县| 镇巴县| 延川县| 炎陵县| 治县。| 建宁县| 延寿县| 富源县| 泽普县| 英山县| 定襄县| 龙海市| 香港|