日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

Repeater、GridView等 操作XML

發布時間:2025/4/5 asp.net 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Repeater、GridView等 操作XML 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Repeater、GridView等 操作XML文件

在項目中需要對XML文件進行管理,我用了Repeater 的方式來實現了實時的更新 希望對閱讀這篇隨筆的您有所幫助,我用的Repeater,您也可以用GridView等...區別僅僅在于控件內的按鈕的事件中獲取當前操作對象索引的方式.. 如果您的XML文檔格式與此不同,建議使用下面的XML格式(因為這個格式能夠通過DataSet的LoadXML方法直接獲得數據源,并且能夠使用DateSet的WriteXML方法輸出XML文檔)或者您可以根基自己的格式重新寫ReadXmlInfoWriteXMLInfo這兩個方法。 首先是我的XML格式 XML格式
<?xml?version="1.0"?standalone="yes"?>
<imgs>
??
<pic?name="/adv_pic/1.jpg"?url="http://www.baidu.com/"?title="美國影視中的黑人總統盤點"?/>
??
<pic?name="/adv_pic/2.jpg"?url="http://www.baidu.com/"?title="斯琴格日樂--我很好!"?/>
??
<pic?name="/adv_pic/3.jpg"?url="http://www.baidu.com/"?title="倫敦金融城市長秀"?/>
??
<pic?name="/adv_pic/4.jpg"?url="http://www.baidu.com/"?title="市長大人的金色大馬車"?/>
??
<pic?name="/adv_pic/5.jpg"?url="http://www.baidu.com/"?title="英國×××歌劇院藝術家為公益緣何全裸?"?/>
</imgs>
HTML? CODE Code
<%@?Register?Assembly="Anthem"?Namespace="Anthem"?TagPrefix="anthem"?%>
<!DOCTYPE?html?PUBLIC?"-//W3C//DTD?XHTML?1.0?Transitional//EN"?"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html?xmlns="http://www.w3.org/1999/xhtml"?>
<head?runat="server">
????
<title>flash櫥窗管理</title>
????
<meta?name="GENERATOR"?content="Microsoft?Visual?Studio?.NET?7.1">
????
<meta?name="CODE_LANGUAGE"?content="C#">
????
<meta?name="vs_defaultClientScript"?content="JavaScript">
????
<meta?name="vs_targetSchema"?content="http://schemas.microsoft.com/intellisense/ie5">
????
<link?href="../css/css.css"?type="text/css"?rel="stylesheet">
</head>
<body>
????
<form?id="form1"?runat="server">
????
<div?style="text-align:center;">
?????????
<anthem:Repeater?ID="Repeater1"?runat="server"?AutoUpdateAfterCallBack="true">
????????????????????
<HeaderTemplate>
????????????????????????
<table?class="DataList"?cellspacing="0"?rules="all"?border="1"?id="Datagrid2"?style="width:?100%;
????????????????????????????border-collapse:?separate;"
>
????????????????????????????
<tr?class="DataList_Head"?align="Left">
????????????????????????????????
<td?align="center"?style="width:?2%;">
????????????????????????????????????編號
</td>
????????????????????????????????
<td?align="center"?style="width:?30%;">
????????????????????????????????????標題
</td>
????????????????????????????????
<td?align="center"?style="width:?30%;">
????????????????????????????????????地址
</td>
????????????????????????????????
<td?align="center"?style="width:?30%;">
????????????????????????????????????圖片
</td>
????????????????????????????????
<td?align="center"?style="width:?8%;">
????????????????????????????????????操作
</td>
????????????????????????????
</tr>
????????????????????
</HeaderTemplate>
????????????????????
<ItemTemplate>
????????????????????????
<tr?class="DataList_Item"?align="Left">
????????????????????????????
<td?align="center"?style="width:?2%;">
????????????????????????????????????
<%#Container.ItemIndex%></td>
????????????????????????????
<td?align="center"?style="width:?30%;">
????????????????????????????????
<a?href='<%#?DataBinder.Eval(Container.DataItem,"url")%>'
????????????????????????????????????target="_blank">
<%#?DataBinder.Eval(Container.DataItem,"title")%></a>
????????????????????????????
</td>
????????????????????????????
<td?align="center"?style="width:?30%;">
????????????????????????????
<a?href='<%#?DataBinder.Eval(Container.DataItem,"url")%>'
????????????????????????????????????target="_blank">
????????????????????????????????
<%#DataBinder.Eval(Container.DataItem,?"url").ToString()%></a>
????????????????????????????
</td>
????????????????????????????
<td?align="center"??style="width:?30%;">
????????????????????????????????
<a?href='<%#?DataBinder.Eval(Container.DataItem,"name")%>'
????????????????????????????????????target="_blank">
<%#?DataBinder.Eval(Container.DataItem,"name")%></a>
????????????????????????????
</td>
????????????????????????????
<td?align="center"??style="width:?10%;">
????????????????????????????
<anthem:LinkButton?Text="修改"?ID="btn_Edit"?OnClick="btn_Edit_Click"?runat="server"?ToolTip='<%#Container.ItemIndex%>'></anthem:LinkButton>
????????????????????????????????
<anthem:LinkButton?Text="刪除"?ID="btn_Delete"?OnClick="btn_Delete_Click"?PreCallBackFunction="function?(){return?confirm('確定刪除?');}"?runat="server"?ToolTip='<%#Container.ItemIndex%>'></anthem:LinkButton>
????????????????????????????
</td>
????????????????????????
</tr>
????????????????????
</ItemTemplate>
????????????????????
<FooterTemplate>
????????????????????????
</table>
????????????????????
</FooterTemplate>
???????????
</anthem:Repeater>
???????????
<table?width="90%"?cellpadding="5"?bgcolor="#e7ecce"?border="1">
???????????
<tr>
????????????????
<td?align="center"?colspan="2">
????????????
<anthem:Label?ID="Txt_TableTitle"?runat="server"?AutoUpdateAfterCallBack="true"?Text="添加新項"></anthem:Label>
????????????
<anthem:HiddenField?ID="Txt_ItemIndex"?runat="server"?AutoUpdateAfterCallBack="true"?/>
????????????????
</td>
???????????
</tr>
????????????
<tr>
????????????????
<td?align="right">
????????????????????標題:
&nbsp;
????????????????
</td>
????????????????
<td?align="left">
????????????????????
<anthem:TextBox?ID="Txt_title"?runat="server"?AutoUpdateAfterCallBack="true"?Width="301px"></anthem:TextBox></td>
????????????
</tr>
????????????
<tr>
????????????????
<td?align="right">
????????????????????地址:
</td>
????????????????
<td?align="left">
????????????????????
<anthem:TextBox?ID="Txt_url"?runat="server"?AutoUpdateAfterCallBack="true"?Width="301px"></anthem:TextBox></td>
????????????
</tr>
????????????
<tr>
????????????????
<td?align="right">
????????????????????圖片地址
</td>
????????????????
<td?align="left">
????????????????????
<anthem:TextBox?ID="Txt_name"?runat="server"?Width="303px"?AutoUpdateAfterCallBack="true"></anthem:TextBox></td>
????????????
</tr>
????????????
<tr>
????????????????
<td?align="center"?colspan="2">
????????????????????
<anthem:Button?ID="Btn_Submit"?runat="server"?Text="?確?定?"?CssClass="button"?OnClick="Btn_Submit_Click"?AutoUpdateAfterCallBack="true"?/>
????????????????????
&nbsp;?&nbsp;?&nbsp;?&nbsp;?&nbsp;?&nbsp;?&nbsp;?&nbsp;?&nbsp;?&nbsp;?&nbsp;?&nbsp;
????????????????????
&nbsp;?&nbsp;
????????????????????
<anthem:Button?ID="BtnBack"?runat="server"?Text="?取?消?"?CssClass="button"?OnClick="BtnBack_Click"?/></td>
????????????
</tr>
????????
</table>
????
</div>
????
</form>
</body>
</html>
然后貼C# code 使用的是Anthem控件,不使用Anthem控件的朋友可以使用常規控件,不影響效果 C# 的Code
using?System;
using?System.Data;
using?System.Configuration;
using?System.Collections;
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.Xml;
using?System.IO;

namespace?test
{
????public?partial?class?shopWindowMar?:?System.Web.UI.Page
????{
????????private?static?string?ImgUrl?=?"/adv_pic";
????????private?static?string?XmlUrl?=?"/xml/TheXml.xml";
????????private?static?DataSet?ds?=??new?DataSet();
????????protected?void?Page_Load(object?sender,?EventArgs?e)
????????{
????????????if?(!Page.IsPostBack)
????????????{
????????????????ReadXmlInfo();//讀取XML文件并綁定到Repeater
????????????}
????????}

????????//讀取XML文件并綁定到Repeater
????????public?void?ReadXmlInfo()
????????{
????????????ds.Tables.Clear();
????????????ds.ReadXml(Server.MapPath(XmlUrl));
????????????Repeater1.DataSource?=?ds.Tables[0].DefaultView;
????????????Repeater1.DataBind();
????????}
????????//從ds數據源重寫XML文件
????????public?void?WriteXMLInfo()
????????{
????????????ds.WriteXml(Server.MapPath(XmlUrl));
????????}
????????//刪除某節點
????????protected?void?btn_Delete_Click(object?sender,?EventArgs?e)
????????{
????????????Anthem.LinkButton?aButton?=?sender?as?Anthem.LinkButton;
????????????ds.Tables[0].Rows.RemoveAt(int.Parse(aButton.ToolTip.ToString()));
????????????WriteXMLInfo();
????????????ReadXmlInfo();
????????}
????????//修改某節點,初始化修改表單數據
????????protected?void?btn_Edit_Click(object?sender,?EventArgs?e)
????????{
????????????Anthem.LinkButton?aButton?=?sender?as?Anthem.LinkButton;
????????????int?ItemIndex?=?int.Parse(aButton.ToolTip.ToString());
????????????Txt_TableTitle.Text?=?"修改現有第"?+?ItemIndex.ToString()?+?"個項目";
????????????Btn_Submit.Text?=?"?修?改?";
????????????Txt_title.Text?=?ds.Tables[0].Rows[ItemIndex]["title"].ToString();
????????????Txt_name.Text?=?ds.Tables[0].Rows[ItemIndex]["name"].ToString();
????????????Txt_url.Text?=?ds.Tables[0].Rows[ItemIndex]["url"].ToString();
????????????Txt_ItemIndex.Value?=?ItemIndex.ToString();
????????}
????????//提交表單內容,進行新增或修改
????????protected?void?Btn_Submit_Click(object?sender,?EventArgs?e)
????????{
????????????if?(Txt_ItemIndex.Value.ToString()?!=?"")
????????????{
????????????????int?EditIndex?=?int.Parse(Txt_ItemIndex.Value.ToString());
????????????????ds.Tables[0].Rows[EditIndex]["name"]?=?Txt_name.Text.ToString();
????????????????ds.Tables[0].Rows[EditIndex]["title"]?=?Txt_title.Text.ToString();
????????????????ds.Tables[0].Rows[EditIndex]["url"]?=?Txt_url.Text.ToString();
????????????}
????????????else
????????????{
????????????????DataRow?dr?=?ds.Tables[0].NewRow();
????????????????dr["name"]?=?Txt_name.Text.ToString();
????????????????dr["title"]?=?Txt_title.Text.ToString();
????????????????dr["url"]?=?Txt_url.Text.ToString();
????????????????ds.Tables[0].Rows.Add(dr);
????????????}
????????????WriteXMLInfo();
????????????ReadXmlInfo();
????????????initTxtTable();
????????}
????????//取消修改按鈕事件
????????protected?void?BtnBack_Click(object?sender,?EventArgs?e)
????????{
????????????initTxtTable();
????????}
????????//重置表單內容
????????public?void?initTxtTable()
????????{
????????????Txt_url.Text?=?"";
????????????Txt_title.Text?=?"";
????????????Txt_name.Text?=?"";
????????????Txt_ItemIndex.Value?=?"";
????????????Txt_TableTitle.Text?=?"添加新項";
????????????Btn_Submit.Text?=?"?添?加?";
????????}
????}
}

轉載于:https://blog.51cto.com/mixangel/128731

總結

以上是生活随笔為你收集整理的Repeater、GridView等 操作XML的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。