ASPX 감사 기능 구현

7016 단어 asp
1. 설계 절차
(1) 웹 사이트의 루트 디렉터리에 Back Ground 폴더를 만들고 웹 사이트 백그라운드 관리 웹 창을 저장합니다.
(2) BackGround 폴더에 새 웹 창(CheckInfo.)을 만듭니다.aspx, 주로 무료 공급 정보의 심사에 사용됩니다.
(3) 웹 창에 페이지 레이아웃을 위한 Table를 추가합니다.
(4) Table에 레이블 컨트롤을 추가합니다. 주로 GridView 컨트롤의 페이지 분할 후 전체 페이지 수에 사용됩니다.주요 속성 설정: AllowPaging 속성은 True이며 페이지 나누기가 허용됩니다.PageSize 속성은 24이며 페이지당 24개의 데이터가 표시됩니다.AutoGenerateColumns 속성은 False이며 자동으로 생성된 열은 표시되지 않습니다.
(5) Table에 3개의 RadioButton 컨트롤을 추가하여 감사된 수급 정보 표시, 비감사된 수급 정보 표시, 같은 유형의 모든 수급 정보 표시를 제어하는 데 사용한다.
(6) Table에 GridView 컨트롤을 추가하면 주로 수급 정보와 수급 정보에 대한 심사 작업을 표시하는 데 사용된다.
2. 구현 코드
전역 정적 변수와 클래스 대상을 설명합니다. 코드의 주석 부분을 참고하십시오.페이지의 로드 이벤트에서 공급과 수요 정보의 유형을 가져오고 사용자 정의 GridViewBind 방법을 호출하여 관련 유형의 공급과 수요 정보를 GridView 컨트롤에 표시합니다.주의해야 할 것은 수급정보망의 모든 분류수급정보 심사는 CheckInfo이다.aspx 페이지에서 이루어졌습니다.페이지 로드 이벤트의 구현 코드는 다음과 같습니다.
루틴 28 코드 위치: CD\TM\01\SIS\BackGround\CheckInfo.aspx.cs
Operation operation = new Operation(); //      
static string infoType = "";   //
static int CheckType = -1;   //3 : (-1
), (0), (1)
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
infoType = Request.QueryString["id"].ToString();
GridViewBind(infoType);
}
}
관련 유형의 수급 정보를 질의하고 질의 결과를 GridView 테이블 컨트롤에 표시하는 GridViewBind 방법을 사용자화합니다.구현 코드는 다음과 같습니다.
루틴 29 코드 위치: CD\TM\01\SIS\BackGround\CheckInfo.aspx.cs
/// <summary>
/// GridViev
/// </summary>
/// <param name="type"> </param>
private void GridViewBind(string type)
{
GridView1.DataSource = operation.SelectInfo(type);
GridView1.DataKeyNames=new string[] {"id"};
GridView1.DataBind();
//
lblPageSum.Text = "  " + (GridView1.PageIndex
+ 1) + " / " + GridView1.PageCount + "  ";
}
GridView 컨트롤의 RowDataBound 이벤트는 데이터 행을 데이터에 바인딩할 때 발생합니다. 그러면 이 이벤트에서 한 줄씩 바인딩할 때마다 줄 강조 표시, 심사 상태 설정, 여분의 텍스트 사용... 바꾸기 등 줄마다 관련 기능을 설정합니다.구현 코드는 다음과 같습니다.
루틴 30 코드 위치: CD\TM\01\SIS\BackGround\CheckInfo.aspx.cs
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
//
e.Row.Attributes.Add("onMouseOver", "Color=this.style.
backgroundColor;this.style.backgroundColor='#FFF000'");
e.Row.Attributes.Add("onMouseOut", "this.style.backgroundColor=Color;");
// ,
if (e.Row.Cells[5].Text == "False")
{
e.Row.Cells[5].Text =StringFormat.HighLight(" ",true);
}
else
{
e.Row.Cells[5].Text = StringFormat.HighLight(" ", false);
}
//   ...
e.Row.Cells[2].Text = StringFormat.Out(e.Row.Cells[2].Text, 18);
}
}
SelectedIndexChanging 이벤트는 한 줄의 '심사/취소' 단추를 눌렀을 때 발생합니다. 이 프로그램은 이 이벤트를 통해 공급과 수요 정보에 대한 심사와 취소를 실현합니다.구현 코드는 다음과 같습니다.
루틴 31 코드 위치: CD\TM\01\SIS\BackGround\CheckInfo.aspx.cs
protected void GridView1_SelectedIndexChanging(object sender, 
GridViewSelectEventArgs e)
{
string id = GridView1.DataKeys[e.NewSelectedIndex].Value.ToString();
operation.UpdateInfo(id, infoType);
// (3 : (-1), (0), (1))
switch (CheckType)
{
case -1:
GridViewBind(infoType);
break;
case 0:
GridView1.DataSource = operation.SelectInfo(infoType, false);
GridView1.DataBind();
break;
case 1:
GridView1.DataSource = operation.SelectInfo(infoType, true);
GridView1.DataBind();
break;
}
}
RowDeleting 이벤트는 행의 세부내용 버튼을 클릭할 때 GridView 컨트롤이 행을 삭제하기 전에 발생합니다.이것은 삭제를 실현하는 것이 아니라 삭제 명령을 통해 상세한 공급과 수요 정보를 보는 기능을 완성하는 것이다.구현 코드는 다음과 같습니다.
루틴 32 코드 위치: CD\TM\01\SIS\BackGround\CheckInfo.aspx.cs
 protected void GridView1_RowDeleting(object sender, 
GridViewDeleteEventArgs e)
{
string id = GridView1.DataKeys[e.RowIndex].Value.ToString();
Response.Write("<script> window.open('DetailInfo.aspx?id="
+ id + "&&type=" + infoType + "','','height=258, width=679,
top=200, left=200') </script>");
Response.Write("<script>history.go(-1)</script>");
}
PageIndexChanging 이벤트는 탐색 버튼을 클릭할 때 발생하지만 GridView 컨트롤이 페이지 나누기 작업을 처리하기 전에 발생합니다.이 이벤트를 통해 주로 페이지의 페이지 나누기 기능을 실현한다.또한 본 프로그램에서 주로 심사, 미심사 등 상황에 따라 공급과 수요 정보를 표시하려면 해당 상황의 데이터 원본에 따라 GridView 컨트롤을 귀속시켜야 한다. 그렇지 않으면 프로그램이 틀리지 않지만 페이지를 어지럽히는 현상이 나타난다.구현 코드는 다음과 같습니다.
루틴 33 코드 위치: CD\TM\01\SIS\BackGround\CheckInfo.aspx.cs
protected void GridView1_PageIndexChanging(object sender, 
GridViewPageEventArgs e)
{
//
GridView1.PageIndex = e.NewPageIndex;
// (3 : (-1), (0), (1))
switch (CheckType)
{
case -1:
GridViewBind(infoType);
break;
case 0:
GridView1.DataSource = operation.SelectInfo(infoType, false);
GridView1.DataBind();
break;
case 1:
GridView1.DataSource = operation.SelectInfo(infoType, true);
GridView1.DataBind();
break;
}
//
lblPageSum.Text = "  " + (GridView1.PageIndex +
1) + " / " + GridView1.PageCount + "  ";
}
승인된 수급 정보 버튼을 클릭하여 승인된 수급 정보를 표시합니다.구현 코드는 다음과 같습니다.
루틴 34 코드 위치: CD\TM\01\SIS\BackGround\CheckInfo.aspx.cs
protected void rdoBtnCheckTrue_CheckedChanged(object sender, EventArgs e)
{
GridView1.PageIndex = 0;
GridView1.DataSource = operation.SelectInfo(infoType, true);
GridView1.DataBind();
CheckType = 1;
//
lblPageSum.Text = "  " + (GridView1.PageIndex +
1) + " / " + GridView1.PageCount + "  ";
}
승인되지 않은 수급 정보 버튼을 클릭하여 승인되지 않은 수급 정보를 표시합니다.구현 코드는 다음과 같습니다.
루틴 35 코드 위치: CD\TM\01\SIS\BackGround\CheckInfo.aspx.cs
protected void rdoBtnCheckFalse_CheckedChanged(object sender, EventArgs e)
{
GridView1.PageIndex = 0;
GridView1.DataSource = operation.SelectInfo(infoType, false);
GridView1.DataBind();
CheckType = 0;
//
lblPageSum.Text = "  " + (GridView1.PageIndex
+ 1) + " / " + GridView1.PageCount + "  ";
}
동일한 유형의 모든 수급 정보 표시 버튼을 클릭하여 동일한 유형의 모든 수급 정보를 표시합니다.구현 코드는 다음과 같습니다.
루틴 36 코드 위치: CD\TM\01\SIS\BackGround\CheckInfo.aspx.cs
protected void rdoBtnCheckAll_CheckedChanged(object sender, EventArgs e)
{
GridView1.PageIndex = 0;
GridViewBind(infoType);
CheckType = -1;
//
lblPageSum.Text = "  " + (GridView1.PageIndex +
1) + " / " + GridView1.PageCount + "  ";
}
【책임 편집자:
하서 TEL:(010)68476606】

좋은 웹페이지 즐겨찾기