<%@ Page language="c#" Codebehind="ICPlanEdit.aspx.cs" AutoEventWireup="false" Inherits="ICAudit.ICPlanEdit" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>ICPlan</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<LINK href="../css/style.css" type="text/css" rel="stylesheet">
<script language="javascript" src="../js/formcheck.js"></script>
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<table style="WIDTH: 739px; HEIGHT: 366px" align="center" border="0">
<TBODY>
<tr>
<td colspan="5" align="center"><IMG src="../images/iczhbj.gif" border="0"></td>
</tr>
<tr>
<td align="left">
计划描述信息:<asp:TextBox id="PlanDescript" runat="server" MaxLength="50"></asp:TextBox>
</td>
</tr>
<tr>
<td>编制单位:大连市信息产业局
</td>
</tr>
<tr>
<td valign="top" style="HEIGHT: 186px">
<asp:Repeater id="RepeaterICPlan" runat="server">
<HeaderTemplate>
<table width="100%" border="1" cellpadding="0" cellspacing="0" bordercolor="#000000" bordercolorlight="#003366"
bordercolordark="#FFFFFF">
<tr>
<td style="WIDTH: 33px">
编号
</td>
<td style="WIDTH: 61px">
单位<br>
名称
</td>
<td style="WIDTH: 51px">
所有制<br>
性质
</td>
<td style="WIDTH: 61px">
主营业务及重点产品
</td>
<td style="WIDTH: 56px">
注册资本
</td>
<td style="WIDTH: 53px">
项目名称
</td>
<td style="WIDTH: 53px">
计划总投<br>
资额(万元)
</td>
<td>
实际投资<br>
额(万元)
</td>
<td>
申请金额<br>
(万元)
</td>
<td>
计划金额<br>
(万元)
</td>
<td>
批准金额<br>
(万元)
</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<%# DataBinder.Eval(Container.DataItem,"projectNo")%>
</td>
<td>
<%# DataBinder.Eval(Container.DataItem,"projectunit")%>
</td>
<td>
<%# DataBinder.Eval(Container.DataItem,"ownercode")%>
</td>
<td style="WIDTH: 88px">
<%# DataBinder.Eval(Container.DataItem,"mainbussiness")%>
</td>
<td>
<%# DataBinder.Eval(Container.DataItem,"registmoney")%>
</td>
<td>
<%# DataBinder.Eval(Container.DataItem,"projectname")%>
</td>
<td>
<%# DataBinder.Eval(Container.DataItem,"jhztzZj")%>
</td>
<td>
<%# DataBinder.Eval(Container.DataItem,"xmytzZj")%>
</td>
<td>
<%# DataBinder.Eval(Container.DataItem,"bnysqzxzjZj")%>
</td>
<td>
<%# DataBinder.Eval(Container.DataItem,"PlanNumber")%>
</td>
<td>
<asp:TextBox Runat=server ID="allowMoney" text='<%# DataBinder.Eval(Container.DataItem,"AllowMoney")%>' Width=50>
</asp:TextBox>
<asp:RequiredFieldValidator id="NumRequired" runat="server" ControlToValidate="allowMoney" ErrorMessage="* 批准金额不可为空"
Display="Dynamic">
*
</asp:RequiredFieldValidator>
<asp:CompareValidator id="valdeclaredate" runat="server" ControlToValidate="allowMoney" ValueToCompare="0"
Operator="GreaterThan" Type="double" ErrorMessage="* 批准金额必须输入大于0的数字!" Display="dynamic">
*
</asp:CompareValidator>
<input type=hidden id="ApplyId" runat=server value='<%# DataBinder.Eval(Container.DataItem,"ID")%>' NAME="ApplyId">
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
<tr>
<td>
</td>
<td align="center">
合计
</td>
<td>--
</td>
<td>--
</td>
<td>--
</td>
<td>--
</td>
<td>--
</td>
<td>--
</td>
<td><asp:label id="NeedNum" runat="server"></asp:label>
</td>
<td><asp:label id="PlanNum" runat="server"></asp:label>
</td>
<td>--
</td>
</tr>
<tr>
<td colspan="11">
制表人:
<asp:Label id="Oper" runat="server">Label</asp:Label>
制表时间:
<asp:Label id="Finishtime" runat="server">Labe2</asp:Label>
</td>
</tr>
</table>
</FooterTemplate> </asp:Repeater></TD></TR>
<tr>
<td align="center">
<asp:ImageButton id="ImageButton1" runat="server" ImageUrl="../images/queding.gif" CssClass="ImgButton"></asp:ImageButton>
<asp:ImageButton id="ImageButton2" runat="server" ImageUrl="../images/quxiao.gif" CssClass="ImgButton"></asp:ImageButton>
</td>
</tr>
</TBODY></TABLE>
<asp:ValidationSummary id="ValidationSummary1" runat="server" ShowMessageBox="True" ShowSummary="False"
DisplayMode="List"></asp:ValidationSummary></form>
<script language="javascript">
function check()
{
if(!checkEmpty("PlanDescript","计划描述信息"))
{
return false;
}
return true;
}
</script>
</body>
</HTML>
Top
9 楼lijianlee(素色人生)回复于 2004-10-11 12:52:32 得分 0
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;
using dhc.dataBase;
using dhc.com;
using dhc.log;
using BPOLib;
using BPWBLib;
namespace ICAudit
{
/// <summary>
/// ICPlan 的摘要说明。
/// </summary>
public class ICPlanEdit : System.Web.UI.Page
{
protected System.Web.UI.WebControls.ImageButton ImageButton1;
protected System.Web.UI.WebControls.ImageButton ImageButton2;
protected System.Web.UI.WebControls.TextBox TextBox1;
protected System.Web.UI.WebControls.TextBox PlanDescript;
protected System.Web.UI.WebControls.ValidationSummary ValidationSummary1;
protected System.Web.UI.WebControls.Repeater RepeaterICPlan;
private void Page_Load(object sender, System.EventArgs e)
{
if (!this.IsPostBack)
{
initGrid();
ImageButton1.Attributes.Add("onclick","if (!check()) return false;");
}
}
private bool initGrid()
{
dbConn conn = new dbConn();
try
{
conn.openDB("Conn");
string strPlanId = Request["Id"];
string strSql="select * from IcPlan where Id = '"+strPlanId+"'";
DataSet ds = conn.getDataSet(strSql,"Plan");
if (ds.Tables["Plan"].Rows.Count > 0)
{
DataRow row = ds.Tables["Plan"].Rows[0];
PlanDescript.Text = row["Descript"].ToString();
}
strSql = "select a.ID,a.projectNo,a.projectname,a.projectunit,a.registmoney,a.mainbussiness,a.ownercode,a.jhztzZj,a.xmytzZj,a.bnysqzxzjZj,a.AllowMoney,b.PlanNumber from icDeclare a,eProcessDB.dbo.XXCYJ_IC b where PlanId = '"+strPlanId+"' and a.ID=b.ApplyId";
OleDbDataReader dbRead= conn.getDataReader(strSql);
RepeaterICPlan.DataSource = dbRead;
RepeaterICPlan.DataBind();
dbRead.Close();
return true;
}
catch
{
Response.Write("发生错误!");
return false;
}
finally
{
conn.closeConn();
}
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.RepeaterICPlan.ItemDataBound += new System.Web.UI.WebControls.RepeaterItemEventHandler(this.RepeaterICPlan_ItemDataBound);
this.ImageButton1.Click += new System.Web.UI.ImageClickEventHandler(this.ImageButton1_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void ImageButton1_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
dbConn conn = new dbConn();
try
{
conn.openDB("Conn");
conn.beginTrans();
string strPlanId = Request["Id"];
string strSql="select * from IcPlan where Id = '"+strPlanId+"'";
DataSet ds = conn.getDataSet(strSql,"Plan");
if (ds.Tables["Plan"].Rows.Count > 0)
{
DataRow row = ds.Tables["Plan"].Rows[0];
row["Descript"] = PlanDescript.Text;
row["Oper"]=Session["NAME"].ToString();
row["Finishtime"]=publicFunction.getStandardDate(DateTime.Now.ToString());
conn.UpdateDataset("Plan",1);
}
int iCount = RepeaterICPlan.Items.Count;
for (int i=0;i<iCount;i++)
{
HtmlInputHidden hihID = (HtmlInputHidden)RepeaterICPlan.Items[i].FindControl("ApplyId");
TextBox tbAllowMoney = (TextBox)RepeaterICPlan.Items[i].FindControl("allowMoney");
strSql = "select ID,AllowMoney,PlanId from icDeclare where ID = '"+hihID.Value+"'";
ds = conn.getDataSet(strSql,"IC");
if (ds.Tables["IC"].Rows.Count > 0)
{
DataRow row = ds.Tables["IC"].Rows[0];
row["AllowMoney"] = tbAllowMoney.Text;
conn.UpdateDataset("IC",1);
}
}
conn.commitTrans();
Response.Write("<script language='javascript'>");
Response.Write("alert('信息成功保存');");
Response.Write("window.location.replace('IcPlanList.aspx');");
Response.Write("</script>");
}
catch
{
conn.rollbackTrans();
Response.Write("发生错误!");
}
finally
{
conn.closeConn();
}
}
private void RepeaterICPlan_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Footer)
{
Label labOper = (Label)e.Item.FindControl("Oper");
labOper.Text = Session["NAME"].ToString();
Label labFinishtime = (Label)e.Item.FindControl("Finishtime");
labFinishtime.Text = publicFunction.getStandardDate(DateTime.Now.ToString());
dbConn conn= new dbConn();
try
{
conn.openDB("Conn");
string strPlanId = Request["Id"];
string strsql="select sum(a.bnysqzxzjZj) NeedNum,sum(b.PlanNumber) PlanNum from icDeclare a,eProcessDB.dbo.XXCYJ_IC b where PlanId = '"+strPlanId+"' and a.ID=b.ApplyId";
OleDbDataReader dbReader = conn.getDataReader(strsql);
if (dbReader.Read())
{
Label labNeedNum = (Label)e.Item.FindControl("NeedNum");
labNeedNum.Text = dbReader["NeedNum"].ToString();
Label labPlanNum = (Label)e.Item.FindControl("PlanNum");
labPlanNum.Text = dbReader["PlanNum"].ToString();
}
}
catch
{
Response.Write("发生错误!");
return;
}
finally
{
conn.closeConn();
}
}
}
}
}
Top
10 楼lijianlee(素色人生)回复于 2004-10-11 13:04:32 得分 0
第一个是aspx文件 第二个是cs文件 是很好的例子
<asp:repeater id="rptArticleManage" Runat="server">
<HeaderTemplate>
<tr bgcolor="#FFD9B9">
<td align="center">选择</td>
<td align="center">标题</td>
<td align="center">频道</td>
<td align="center">栏目</td>
<td align="center">二级栏目</td>
<td align="center">创建时间</td>
<td align="center">省份</td>
<td align="center">城市</td>
<td align="center">编辑</td>
<td align="center">点击数</td>
<td align="center">权重</td>
<td align="center">审核</td>
<td align="center">操作</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr bgcolor="#d6dff7">
<td>
<input type="checkbox" id="chkb" runat="server" NAME="chkb">
<input type=hidden id="hidCpID" value='<%#DataBinder.Eval(Container.DataItem,"News_ID")%>' runat=server NAME="hidCpID">
<input type=hidden id="hidUrl" value='<%#DataBinder.Eval(Container.DataItem,"News_Path")%>' runat=server NAME="hidUrl">
</td>
<td><a href='InForDetail.aspx?ID=<%#DataBinder.Eval(Container.DataItem,"News_ID")%>&channel=<%=Request.QueryString["channel"]%>' title="文章标题:<%#DataBinder.Eval(Container.DataItem, "News_Title")%>" >
<%#useually.getleft(DataBinder.Eval(Container.DataItem, "News_Title").ToString(),20)%>
</a>
</td>
<td><%#DataBinder.Eval(Container.DataItem, "Channel_Name")%></td>
<td><%#DataBinder.Eval(Container.DataItem, "Column_Name")%></td>
<td><%#DataBinder.Eval(Container.DataItem, "Class1_Name")%></td>
<td><%#DataBinder.Eval(Container.DataItem, "News_Date")%></td>
<td><%#DataBinder.Eval(Container.DataItem,"Province")%></td>
<td><%#DataBinder.Eval(Container.DataItem,"City")%></td>
<td><%#DataBinder.Eval(Container.DataItem, "News_Edit")%></td>
<td><%#DataBinder.Eval(Container.DataItem, "Click_Number")%></td>
<td><%#DataBinder.Eval(Container.DataItem, "News_Weight")%></td>
<td align="center"><%#DataBinder.Eval(Container.DataItem, "News_Verify").ToString() != "" ? "已审核" : "<span style='color: #ff0033'>未审核</span>"%></td>
<td align="center"><a href='movechannell.aspx?ID=<%#DataBinder.Eval(Container.DataItem,"News_ID")%>'>转移频道</a></td>
</tr>
</ItemTemplate>
<AlternatingItemTemplate>
<tr bgcolor="#FEFBE0">
<td>
<input type="checkbox" id="chkb" runat="server" NAME="chkb">
<input type=hidden id="hidCpID" value='<%#DataBinder.Eval(Container.DataItem,"News_ID")%>' runat=server NAME="hidCpID">
<input type=hidden id="hidUrl" value='<%#DataBinder.Eval(Container.DataItem,"News_Path")%>' runat=server NAME="hidUrl">
</td>
<td><a href='InForDetail.aspx?ID=<%#DataBinder.Eval(Container.DataItem,"News_ID")%>&channel=<%=Request.QueryString["channel"]%>' title="文章标题:<%#DataBinder.Eval(Container.DataItem, "News_Title")%>" >
<%#useually.getleft(DataBinder.Eval(Container.DataItem, "News_Title").ToString(),20)%>
</a>
</td>
<td><%#DataBinder.Eval(Container.DataItem, "Channel_Name")%></td>
<td><%#DataBinder.Eval(Container.DataItem, "Column_Name")%></td>
<td><%#DataBinder.Eval(Container.DataItem, "Class1_Name")%></td>
<td><%#DataBinder.Eval(Container.DataItem, "News_Date")%></td>
<td><%#DataBinder.Eval(Container.DataItem,"Province")%></td>
<td><%#DataBinder.Eval(Container.DataItem,"City")%></td>
<td><%#DataBinder.Eval(Container.DataItem, "News_Edit")%></td>
<td><%#DataBinder.Eval(Container.DataItem, "Click_Number")%></td>
<td><%#DataBinder.Eval(Container.DataItem, "News_Weight")%></td>
<td align="center"><%#DataBinder.Eval(Container.DataItem, "News_Verify").ToString() != "" ? "已审核" : "<span style='color: #ff0033'>未审核</span>"%></td>
<td align="center"><a href='movechannell.aspx?ID=<%#DataBinder.Eval(Container.DataItem,"News_ID")%>'>转移频道</a></td>
</tr>
</AlternatingItemTemplate>
</asp:repeater>
</table>
public int is_yc;
public int fenye;
private int pageSize = 16;
private int recordCount;
{
get
{
return Convert.ToInt32(ViewState["PageCount"]);
}
}
{
get
{
return pageSize;
}
}
{
get
{
return Convert.ToInt32(ViewState["CurrentPage"].ToString());
}
set
{
ViewState["CurrentPage"] = value;
}
}
{
get
{
return recordCount;
}
}
#endregion
{
if (Session["hg_loginname"] == null)
{
Response.Redirect("../login.aspx");
}
else
{
channel=Request.QueryString["channel"];
lb_message.Text = "->" + channel;
}
if (!HasPermission("26"))
{
Response.Write("<script>alert('对不起,你不具有管理信息的权限!')</script>");
Response.Write("<script>history.go(-1);</script>");
}
{
//传递存储过程参数的初始化
ViewState["LookOwn"] = ""; //查看登陆用户发布的信息!
ViewState["LookUnPassed"] = ""; //查看为审核的信息!
ViewState["PageCount"] = 0;
}
btnDelete.Attributes.Add(" "return confirm('您真的要删除选定的记录吗?');");
private void RptDataBind()
{
SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["dfhgConnString"].ConnectionString);
SqlCommand cmd = new SqlCommand("InforManage_HuaGong123", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters["@PageIndex"].Value = PageIndex; //页索引
cmd.Parameters["@PageSize"].Value = PageSize; //每页记录大小
cmd.Parameters["@RecordCount"].Direction = ParameterDirection.Output; //返回--记录总数
cmd.Parameters["@PageCount"].Direction = ParameterDirection.Output; //返回--总页数
cmd.Parameters["@channel"].Value = channel; //频道
cmd.Parameters["@editor"].Value = ViewState["editor"]; //添加作者
cmd.Parameters["@lookUnpassed"].Value = ViewState["LookUnPassed"]; //未审核的
cmd.Parameters["@lookOwn"].Value = ViewState["LookOwn"]; //自己发布的信息
cmd.Parameters["@is_yc"].Value =is_yc; //原创的信息
cmd.Parameters["@keyword"].Value = ViewState["Keyword"].ToString(); //查询关键字
{
cmd.Connection.Open();
SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
rptArticleManage.DataSource = reader;
rptArticleManage.DataBind();
reader.Close();
ViewState["PageCount"] = (int)cmd.Parameters["@PageCount"].Value; //记录返回的页数
fenye = (int)ViewState["PageCount"];
cmd.Dispose();
}
catch (SqlException ex)
{
Response.Write(ex.ToString());
Response.End();
}
}
#endregion
#region 分页导航按钮点击监听事件
private void LBtnNavigation_Click(object sender, System.EventArgs e)
{
LinkButton btn = (LinkButton)sender;
switch (btn.CommandName)
{
case "First":
PageIndex = 0;
break;
PageIndex = PageIndex - 1;
break;
PageIndex = PageIndex + 1;
break;
PageIndex = PageCount - 1;
break;
try
{
Convert.ToInt32(txtGo.Text);
}
catch
{
return;
}
{
PageIndex = 0;
}
else if (Convert.ToInt32(txtGo.Text) > PageCount - 1)
{
PageIndex = PageCount - 1;
}
else
{
PageIndex = Convert.ToInt32(txtGo.Text) - 1;
}
break;
}
}
#endregion
#region 删除所选信息
protected void btnDelete_Click1(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["dfhgConnString"].ConnectionString);
SqlCommand cmd = new SqlCommand("InForDelete_HuaGong", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@ID", SqlDbType.Int, 4); //参数绑定
{
HtmlInputCheckBox cb = (HtmlInputCheckBox)item.FindControl("chkb");
HtmlInputHidden hCpID = (HtmlInputHidden)item.FindControl("hidCpID");
HtmlInputHidden hCpUrl = (HtmlInputHidden)item.FindControl("hidUrl");
if (cb.Checked == true)
{
cmd.Parameters["@ID"].Value = Convert.ToInt32(hCpID.Value);
string dir = Server.MapPath(("News_hmtl/" + hCpUrl.Value));//用来生成文件夹
if (File.Exists(dir))
{
File.Delete(dir);
}
try
{ cmd.Connection.Open();
cmd.ExecuteNonQuery();
}
catch (SqlException ex)
{
Response.Write("删除失败,错误信息如下:</br>");
Response.Write(ex.ToString());
Response.End();
}
finally
{
cmd.Connection.Close();
cmd.Dispose();
}
}
}
Response.Write("<script>alert('信息记录删除成功,物理静态文件同时被清除!');</script>");
RptDataBind();
}
#endregion
private void btnSearch_Click(object sender, System.EventArgs e)
{
if (txtKeyword.Text.Trim().Length == 0)
{
Response.Write("<script>alert('请输入关键字');</script>");
RptDataBind();
return;
}
}
#endregion
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
//this.lb_yc.Click += new System.EventHandler(this.lb_yc);
this.btnLookUnPassed.Click += new System.EventHandler(this.btnLookUnPassed_Click);
this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click);
this.btnLookOwn.Click += new System.EventHandler(this.btnLookOwn_Click);
this.LBtnFirst.Click += new System.EventHandler(this.LBtnNavigation_Click);
this.LBtnPrev.Click += new System.EventHandler(this.LBtnNavigation_Click);
this.LBtnNext.Click += new System.EventHandler(this.LBtnNavigation_Click);
this.LBtnLast.Click += new System.EventHandler(this.LBtnNavigation_Click);
this.LBtnGo.Click += new System.EventHandler(this.LBtnNavigation_Click);
this.Load += new System.EventHandler(this.Page_Load);
#endregion
/// <summary>
/// 控制导航按钮或数字的状态
/// </summary>
public void SetPagingState()
{
if (PageCount <= 1)//( RecordCount <= PageSize )//小于等于一页
{
this.LBtnFirst.Enabled = false;
this.LBtnPrev.Enabled = false;
this.LBtnNext.Enabled = false;
this.LBtnLast.Enabled = false;
}
else //有多页
{
if (PageIndex == 0)//当前为第一页
{
this.LBtnFirst.Enabled = false;
this.LBtnPrev.Enabled = false;
this.LBtnNext.Enabled = true;
this.LBtnLast.Enabled = true;
}
else if (PageIndex == PageCount - 1)//当前为最后页
{
this.LBtnFirst.Enabled = true;
this.LBtnPrev.Enabled = true;
this.LBtnNext.Enabled = false;
this.LBtnLast.Enabled = false;
}
else //中间页
{
this.LBtnFirst.Enabled = true;
this.LBtnPrev.Enabled = true;
this.LBtnNext.Enabled = true;
this.LBtnLast.Enabled = true;
}
}
this.LtlRecordCount.Text = RecordCount.ToString();
if (RecordCount == 0)
{
this.LtlPageCount.Text = "0";
this.LtlPageIndex.Text = "0";
}
else
{
this.LtlPageCount.Text = PageCount.ToString();
this.LtlPageIndex.Text = (PageIndex + 1).ToString();
}
}
#endregion
#region 察看待审核的信息
private void btnLookUnPassed_Click(object sender, System.EventArgs e)
{
ViewState["Keyword"] = "";
ViewState["LookUnPassed"] = "T";
ViewState["LookOwn"] = "";
ViewState["is_yc"] = "";
is_yc = 0;
RptDataBind();
}
#endregion
private void btnLookOwn_Click(object sender, System.EventArgs e)
{
ViewState["Keyword"] = "";
ViewState["LookUnPassed"] = "";
ViewState["LookOwn"] = "T";
is_yc = 0;
RptDataBind();
}
#endregion
protected void lb_yc_Click(object sender, EventArgs e)
{
ViewState["Keyword"] = "";
ViewState["LookUnPassed"] = "";
ViewState["LookOwn"] = "";
is_yc = 1;
RptDataBind();
}
#endregion
/// <summary>
/// 判断主体对象是否具有指定的权限
/// </summary>
/// <param name="permName">要进行检查的权限名称</param>
/// <returns>如果具有指定权限,则返回true,否则返回false</returns>
private bool HasPermission(string permid)
{
ArrayList permissions = (ArrayList)Session["hg_loginname_perlist"];
if (permissions == null)
return false;
{
if (perm.ToString() == permid)
return true;
}
return false;
}
#endregion
今天看了天轰穿老师的视频,搞了差不多一个下午,终于实现了repeater的手写代码绑定,实现分页和嵌套,代码天老师视频上的代码有些不同,但原理是一样的,开始的时候总是报错,查了差不多半个小时还是没找出错误,那是真的很痛苦,想放弃,但最后还是坚持下来,在经过了1个小时的挣扎,终于找到了错误,原来是自己犯的一个低级错误,把2个OleDbDataAdapter对象错写成同一个OleDbDataAdapter对象的查询结果填充到DataSet的message表跟reply表,应该分别用2个OleDbDataAdapter对象分别填充同一个DataSet的message表跟reply表才对.最后得出一点心得:搞程序一定要有坚持的恒心才行,坚持去学新的技术,坚持去找bug(一个小小的bug可能会耗掉你几天的时间), 绝不能二天打鱼,三天晒网,只有不断地坚持下去才能成功!
Default.aspx
1<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
2<%@ Import Namespace="System.Data" %>
3
4<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
6<html xmlns="http://www.w3.org/1999/xhtml" >
7<head runat="server">
8 <title>Untitled Page</title>
9</head>
10<body>
11 <form id="form1" runat="server">
12 <div>
13 <asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound">
14 <HeaderTemplate>
15 <table width="500">
16 <tr style="background-color:#ccffcc;">
17 <td>
18 name
19 </td>
20 <td>
21 title
22 </td>
23 <td>
24 content
25 </td>
26 <td>
27 reply
28 </td>
29 </tr>
30 </HeaderTemplate>
31 <ItemTemplate>
32 <tr>
33 <td>
34 <a href='Default1.aspx?id=<%#Eval("id") %>'><%#Eval("name") %></a>
35 </td>
36 <td>
37 <%#Eval("title") %>
38 </td>
39 <td>
40 <%#Eval("content") %>
41 </td>
42 <td>
43 <asp:Repeater ID="Repeater2" runat="server" DataSource='<%# Eval("myrelation")%>'>
44 <ItemTemplate>
45 <%#Eval("[/"replyContent/"]") %>
46 <hr size="2pt"/>
47
48 <%--<%#DataBinder.Eval(Container.DataItem,"replyTitle") %>--%>
49 </ItemTemplate>
50 </asp:Repeater>
51 </td>
52 </tr>
53 </ItemTemplate>
54 <SeparatorTemplate>
55 <tr>
56 <td colspan="4">
57 <hr size="2pt" />
58 </td>
59 </tr>
60 </SeparatorTemplate>
61 <FooterTemplate>
62 <tr>
63 <td colspan="4" style="font-size:12pt;color:#0099ff; background-color:#e6feda;">
64 共<asp:Label ID="lblpc" runat="server" Text="Label"></asp:Label>页 当前为第<asp:Label ID="lblp"
65 runat="server" Text="Label"></asp:Label>页
66 <asp:HyperLink ID="lpfirst" runat="server">首页</asp:HyperLink>
67 <asp:HyperLink ID="lpprev" runat="server">上一页</asp:HyperLink>
68 <asp:HyperLink ID="lpnext" runat="server">下一页</asp:HyperLink>
69 <asp:HyperLink ID="lplast" runat="server">末页</asp:HyperLink>
70 </td>
71 </tr>
72 </table>
73 </FooterTemplate>
74 </asp:Repeater>
75
76
77 </div>
78 </form>
Default.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Repeater1.DataSource = pds();//通过类PagedDataSource来实现分页,pds()方法返回一个类PagedDataSource的对象pds
Repeater1.DataBind();
}
}
private PagedDataSource pds()
{
string connectionString = "provider=microsoft.jet.oledb.4.0;data source=D:/WebSites/Repeater/App_Data/student.mdb";
OleDbConnection myConnetion = new OleDbConnection(connectionString);
OleDbDataAdapter oda = new OleDbDataAdapter("select * from message", myConnetion);
DataSet ds = new DataSet();
oda.Fill(ds, "message");
OleDbDataAdapter oda2 = new OleDbDataAdapter("select * from reply", myConnetion);
oda2.Fill(ds, "reply");
ds.Relations.Add("myrelation",ds.Tables["message"].Columns["id"],ds.Tables["reply"].Columns["id"]);//新增一个关系myrelation把表message和reply通过字段id连接起来
PagedDataSource pds=new PagedDataSource();
pds.DataSource=ds.Tables["message"].DefaultView;
pds.AllowPaging=true;//允许分页
pds.PageSize=2;//分页数
pds.CurrentPageIndex=Convert.ToInt32(Request.QueryString["page"]);//当前页CurrentPageIndex,通过获得传来的参数page来设置
return pds;
}
protected void Repeater1_ItemDataCommand(object source, RepeaterCommandEventArgs e)
{
}
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Footer)
{
int n = Convert.ToInt32( pds().PageCount);//n为分页数
int i = Convert.ToInt32(pds().CurrentPageIndex);//i为当前页
Label lblpc =(Label) e.Item.FindControl("lblpc");
lblpc.Text = n.ToString();
Label lblp = (Label)e.Item.FindControl("lblp");
lblp.Text = Convert.ToString(pds().CurrentPageIndex+1);
HyperLink lpfirst = (HyperLink)e.Item.FindControl("lpfirst");
HyperLink lpprev = (HyperLink)e.Item.FindControl("lpprev");
HyperLink lpnext = (HyperLink)e.Item.FindControl("lpnext");
HyperLink lplast = (HyperLink)e.Item.FindControl("lplast");
lpfirst.NavigateUrl = "?page=0";//向Default.aspx(就是本页)传递参数page
lplast.NavigateUrl = "?page="+(n-1);
if (i <= 0)
{
lpfirst.Enabled = false;
lpprev.Enabled = false;
lplast.Enabled = true;
lpnext.Enabled = true;
}
else
{
lpprev.NavigateUrl = "?page=" + (i - 1);
}
if (i >= n - 1)
{
lpfirst.Enabled = true;
lplast.Enabled = false;
lpnext.Enabled = false;
lpprev.Enabled = true;
}
else
{
lpnext.NavigateUrl = "?page=" + (i + 1);
}
}
}
}