Use ASP. NET and XML to create an advertisement Management Program (2)

Source: Internet
Author: User
Let's take a look at the source code of ASP. NET:

Because XML files take up a lot of space, I had to paste the source program on this page. (It's also very long. You can only read it if you have sex)

 
<% @ Page Language = "C #" responseencoding = "gb2312" %>
<% @ Import namespace = "system. Data" %>
<% @ Import namespace = "system. xml" %>
<% @ Import namespace = "system. Io" %>
<Script language = "C #" runat = "server">
Dataset Ds; file: // defines a public dataset.
Dataview DV; file: // defines the public dataview.
String sortfield;
String Spath;
Public void page_load (Object SRC, eventargs E)
{
If (State ["adxml"] = NULL)
{
Spath = server. mappath (".") + "\ adbanners \ ad_gb.xml ";
DS = new dataset ();
DS. readxml (Spath );
State ["adxml"] = Ds;
}
Else
{
DS = (Dataset) State ["adxml"];
}
Dv = ds. Tables [0]. DefaultView;
Dv. Sort = "ImageUrl ";

If (! Page. IsPostBack)
{
CreateTable ();
}
}

File: // Binder
Public void CreateTable ()
{

DgXML. DataSource = dv;
DgXML. DataBind ();
}

File: // when turning pages
Public void dgXML_Changed (Object sender, DataGridPageChangedEventArgs e)
{
CreateTable ();
}

File: // Delete
Public void DelItem (Object sender, DataGridCommandEventArgs e)
{
If (LinkButton) e. CommandSource). CommandName = "del ")
{
File: // first obtain the number of rows on the current update page and CurrentPageIndex
Int CPI = (int) dgXML. CurrentPageIndex;
Int EIi = (INT) E. Item. itemindex;
Int ROW = CPI * 5 + EIi;

LB. Text = row. tostring ();

File: // Delete
DV. Delete (ROW );

Dgxml. edititemindex =-1;
DS. writexml (Spath );

Createtable ();
}
}

File: // cancel
Public void dgxml_cancel (Object sender, datagridcommandeventargs E)
{
Dgxml. edititemindex =-1;
Createtable ();
}

File: // Edit
Public void dgxml_edit (Object sender, datagridcommandeventargs E)
{
Dgxml. edititemindex = (INT) E. Item. itemindex;
Createtable ();
}

File: // update
Public void dgxml_update (Object sender, datagridcommandeventargs E)
{
Try
{
File: // first obtain the number of rows on the current update page and CurrentPageIndex
Int CPI = (int) dgXML. CurrentPageIndex;
Int EII = (int) e. Item. ItemIndex;
Int row = CPI * 5 + EII;
File: // lb. Text = row. ToString ();

File: // obtain the value

String ImageUrl = (TextBox) e. Item. Cells [2]. Controls [0]). Text;
String NavigateUrl = (TextBox) e. Item. Cells [3]. Controls [0]). Text;
String AlternateText = (TextBox) e. Item. Cells [4]. Controls [0]). Text;
String Keyword = (TextBox) e. Item. Cells [5]. Controls [0]). Text;
String Impressions = (TextBox) e. Item. Cells [6]. Controls [0]). Text;

Dv. Delete (row );

DataRow dr = ds. Tables [0]. NewRow ();
Dr [0] = ImageUrl;
Dr [1] = NavigateUrl;
Dr [2] = AlternateText;
Dr [3] = Keyword;
Dr [4] = Impressions;
Ds. Tables [0]. Rows. Add (dr );
Ds. WriteXml (sPath );
}
Catch (Exception ee)
{
Lb. Text = ee. ToString ();
}

DgXML. EditItemIndex =-1;
CreateTable ();

}

Public void PanelShow (Object sender, EventArgs e)
{
AddItem. Visible = true;
}

Public void AddItem_Click (Object sender, EventArgs e)
{
DataRow dr = ds. Tables [0]. NewRow ();
Dr [0] = mUrl. Text;
Dr [1] = aUrl. Text;
Dr [2] = mText. Text;
Dr [3] = aKey. Text;
Dr [4] = aTime. Text;
Ds. Tables [0]. Rows. Add (dr );
Ds. WriteXml (sPath );
CreateTable ();
AddItem. Visible = false;
}
</Script>
<Html>
<Head>
<Title> </title>
</Head>
<Body>
<Form id = "form1" runat = "server">
<Asp: DataGrid id = "dgXML" runat = "server"
AllowPaging = "True"
PageSize = "10"
BorderColor = "black"
BorderWidth = "1"
CellPadding = "3"
Font-Name = "Verdana"
Font-Size = "8pt"
HeaderStyle-BackColor = "# aaaadd"
PagerStyle-Mode = "NumericPages"
PagerStyle-HorizontalAlign = "Right"
PagerStyle-PrevPageText = "Previous Page"
PagerStyle-NextPageText = ""
OnPageIndexChanged = "dgXML_Changed"
OnEditCommand = "dgXML_Edit"
OnCancelCommand = "dgXML_Cancel"
OnUpdateCommand = "dgXML_Update"
OnItemCommand = "DelItem"
AutoGenerateColumns = "false"
>
<Property name = "Columns">
<Asp: ButtonColumn HeaderText = "delete" Text = "delete" CommandName = "del"/>
<Asp: EditCommandColumn EditText = "modify" CancelText = "cancel" UpdateText = "Update" ItemStyle-Wrap = "false"
HeaderText = "operation area" HeaderStyle-Wrap = "false"/>
<Asp: BoundColumn HeaderText = "image address (relative)" SortField = "ImageUrl" DataField = "ImageUrl"/>
<Asp: BoundColumn HeaderText = "link URL" SortField = "NavigateUrl" DataField = "NavigateUrl"/>
<Asp: BoundColumn HeaderText = "Image Description" SortField = "AlternateText" DataField = "AlternateText"/>
<Asp: BoundColumn HeaderText = "category" SortField = "Keyword" DataField = "Keyword"/>
<Asp: BoundColumn HeaderText = "display time" SortField = "Impressions" DataField = "Impressions"/>
</Property>
</Asp: DataGrid>
<Hr>
<Asp: Button id = "vi" Text = "Add new item" OnClick = "PanelShow" runat = "server"/>
<Br>
<Asp: Panel id = "AddItem" runat = "server" Visible = "false">
<Table>
<Tr Bgcolor = "# aaaadd"> <td colspan = 2> Add an advertisement page </td> </tr>
<Tr>
<Td> advertisement image URL: </td>
<Td> <asp: TextBox id = "mUrl" runat = "server" Text = "http: //"/> </td>
</Tr>
<Tr>
<Td> ad link address: </td>
<Td> <asp: TextBox id = "aUrl" runat = "server" Text = "http: //"/> </td>
</Tr>
<Tr>
<Td> Image Description: </td>
<Td> <asp: TextBox id = "mText" runat = "server"/> </td>
</Tr>
<Tr>
<Td> advertisement category: </td>
<Td> <asp: TextBox id = "aKey" runat = "server"/> </td>
</Tr>
<Tr>
<Td> display time </td>
<Td> <asp: TextBox id = "aTime" runat = "server"/> </td>
</Tr>
<Tr> <td>
<Asp: Button id = "submit" Text = "submit" OnClick = "AddItem_Click" runat = "server"/> </td> </tr>
</Table>
</Asp: Panel>
<Asp: Label id = "lb" runat = "server"/>
</Form>
</Body>
</Html>

 

Let's analyze it.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.