设断点在newRow=dataSet.Tables[0].NewRow();,查一查dataset是不是为null值
解决方案 »
- UpdatePanel不能更新
- 参数编码
- Ajax调用后台方法,提示对象未定义,如何解决
- 如果对GRIDVIEW设置较为复杂的边框
- 有关vs2005连接sql 2000的问题
- 在asp.net中使用mapxtreme 2004中怎么样将数据库里的X,Y坐标值绑定在地图上,以点的方式显示出来。
- DataList显示了数据 如何获得DataList里面某项的数据
- 如何设置取消ListBox控件的垂直滚动条!!!
- ImageButton控件有没有看得到但是不能点击的状态?
- 怎样配置IIS才行?有没有这样的文章?
- 在框架面页中出现二个滚动条,我取消right的滚动条后,left的滚动条的treeview就显示不完,怎么让它只有一个滚动条呢?
- 请问关于DataGrid里的分页问题(在线等)
/////////////////////////////////////////////////////////////////
1.EditAsp.aspx
/////////////////////////////////////////////////////////////////<%@ Import Namespace="System.Data"%>
<%@ Import Namespace="System.IO"%>
<%@ Import Namespace="System.Globalization"%>
<%@ Page Language="C#" Debug="true" %><script Language="c#" runat="server">
void Page_Load(object sender,EventArgs e)
{
if(!(Page.IsPostBack))
{
EventData.DataSource=LoadMyCalendarData();
EventData.DataBind();
}
}
protected DataSet LoadMyCalendarData()
{
string sourceXml=Server.MapPath("Calendar.xml");
if(!(File.Exists(sourceXml)))
{
return null;
}
DataSet cachedDataSet=(DataSet)Session["MyCalendarData"];
if(!(cachedDataSet==null))
{
return cachedDataSet;
}
DataSet dataSet=new DataSet();
try
{
dataSet.ReadXml(sourceXml);
Session["MyCalendarData"]=dataSet;
}
catch(Exception e)
{
ErrorMessage.Text=e.Message;
dataSet=null;
}
return dataSet;
}
void DEDR_Edit(object sender,DataGridCommandEventArgs e)
{
EventData.EditItemIndex=Convert.ToInt32(e.Item.ItemIndex);
EventData.DataSource=LoadMyCalendarData();
EventData.DataBind();
}
void DEDR_Update(object sender,DataGridCommandEventArgs e)
{
DataSet dataSet=LoadMyCalendarData();
int row=Convert.ToInt32(e.Item.ItemIndex);
TextBox EditText=null;
EditText=(TextBox)e.Item.FindControl("txtShortDesc");
dataSet.Tables[0].Rows[row]["ShortDesc"]=EditText.Text;
EditText=(TextBox)e.Item.FindControl("txtDetailDesc");
dataSet.Tables[0].Rows[row]["DetailDesc"]=EditText.Text;
EditText=(TextBox)e.Item.FindControl("txtEventDate");
dataSet.Tables[0].Rows[row]["EventDate"]=EditText.Text;
EditText=(TextBox)e.Item.FindControl("txtStartTime");
dataSet.Tables[0].Rows[row]["StartTime"]=EditText.Text;
EditText=(TextBox)e.Item.FindControl("txtEndTime");
dataSet.Tables[0].Rows[row]["EndTime"]=EditText.Text;
dataSet.WriteXml(Server.MapPath("Calendar.xml"));
Session["MyCalendarData"]=null;
EventData.EditItemIndex=-1;
EventData.DataSource=LoadMyCalendarData();
EventData.DataBind();
}
void DEDR_Cancel(object sender,DataGridCommandEventArgs e)
{
EventData.EditItemIndex=-1;
Session["MyCalendarData"]=null;
EventData.DataSource=LoadMyCalendarData();
EventData.DataBind();
}
void DEDR_Delete(object sender,DataGridCommandEventArgs e)
{
DataSet dataSet=LoadMyCalendarData();
int row=Convert.ToInt32(e.Item.ItemIndex);
dataSet.Tables[0].Rows[row].Delete();
dataSet.WriteXml(Server.MapPath("Calendar.xml"));
Session["MyCalendarData"]=null;
EventData.EditItemIndex=-1;
EventData.DataSource=LoadMyCalendarData();
EventData.DataBind();
}
void DEDR_Add(object sender,EventArgs a)
{
DataSet dataSet=LoadMyCalendarData();
DataRow newRow;
newRow=dataSet.Tables[0].NewRow();
newRow["ShortDesc"]="";
newRow["DetailDesc"]="";
newRow["EventDate"]="";
newRow["StartTime"]="";
newRow["EndTime"]="";
dataSet.Tables[0].Rows.Add(newRow);
dataSet.WriteXml(Server.MapPath("Calendar.xml"));
Session["MyCalendarData"]=null;
EventData.DataSource=LoadMyCalendarData();
EventData.DataBind();
EventData.EditItemIndex=EventData.Items.Count-1;
EventData.DataSource=LoadMyCalendarData();
EventData.DataBind();
}
</script><html>
<head>
<title>EditItem</title></head>
<body>
<form runat="server">
<asp:Label id="ErrorMessage" runat="server"/><br/>
<asp:LinkButton OnClick="DEDR_Add" Text="Add new event" runat="server"/><br/>
<asp:DataGrid ID="EventData" AutoGenerateColumns="false" Width="100%" runat="server"
OnEditCommand="DEDR_Edit"
OnUpdateCommand="DEDR_Update"
OnCancelCommand="DEDR_Cancel"
OnDeleteCommand="DEDR_Delete"></asp:DataGrid>
<headerstyle ForeColor="#FFFFFF" BackColor="#1E90FF" Font-Bold="true"></headerstyle>
<itemstyle BackColor="#FFFFFF"></itemstyle>
<alternatingitemstyle BackColor="#DCDCDC"/>
<columns>
<asp:TemplateColumn HeaderText="Date" runat="server">
<Itemtemplate>
<%# DataBinder.Eval(Container.DataItem, "EventDate") %> </Itemtemplate>
<edititemtemplate>
<asp:TextBox ID="txtEventDate" Size="25";
Text='<%#DataBinder.Eval(Container.DataItem,"EventDate")%>' runat="server"/>
</edititemtemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Event" runat="server">
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem,"ShortDesc")%>
</ItemTemplate>
<edititemtemplate>
<asp:TextBox ID="txtShortDesc" size="25";
Text='<%#DataBinder.Eval(Container.DataItem,"ShortDesc")%>' runat="server"/>
</edititemtemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Description" runat="server">
<itemtemplate>
<%#DataBinder.Eval(Container.DataItem,"DetailDesc")%>
</itemtemplate>
<edititemtemplate>
<asp:TextBox ID="txtDetailDesc" Size="50"
Text='<%#DataBinder.Eval(Container.DataItem,"DetailDesc")%>' runat="server"/>
</edititemtemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Start Time" runat="server">
<itemtemplate>
<%#DataBinder.Eval(Container.DataItem,"StartTime")%>
</itemtemplate>
<edititemtemplate>
<asp:TextBox ID="txtStartTime" Size="7"
Text='<%#DataBinder.Eval(Container.DataItem,"StartTime")%>' runat="server"/>
</edititemtemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="End Time" runat="server">
<itemtemplate>
<%#DataBinder.Eval(Container.DataItem,"EndTime")%>
</itemtemplate>
<edititemtemplate>
<asp:TextBox ID="txtEndTime" Size="50"
Text='<%#DataBinder.Eval(Container.DataItem,"EndTime")%>' runat="server"/>
</edititemtemplate>
</asp:TemplateColumn>
<asp:TemplateColumn>
<itemtemplate>
<asp:LinkButton CommandName="Edit" Text="Edit" runat="server"/>
<asp:LinkButton CommandName="Delete" Text="Delete" runat="server"/>
</itemtemplate>
<edititemtemplate>
<asp:LinkButton CommandName="Cancel" Text="Cancel" runat="server"/>
<asp:LinkButton CommandName="Update" Text="Update" runat="server"/>
</edititemtemplate>
</asp:TemplateColumn>
</columns>
</asp:DataGrid>
</form>
</body>
</html>
///////////////////////////////////////////////////////////////
2.Calendar.xml
///////////////////////////////////////////////////////////////
<?xml version="1.0" encoding="utf-8" ?><MyCalendar>
<Event>
<ShortDesc>Concert at the Riverfront</ShortDesc>
<DetailDesc>3th of the Celebration.Bring stand and a jacket</DetailDesc>
<EventDate>2004/3/31</EventDate>
<StartTime>9:30am</StartTime>
<EndTime>12:30am</EndTime>
</Event>
<Event>
<shortDesc>CCTV 12 Start Conference</shortDesc>
<DetailDesc>CCTV 12 at the Beginning of time,take you pill</DetailDesc>
<EventDate>2004/4/8</EventDate>
<StartTime>8:00pm</StartTime>
<EndTime>11:00pm</EndTime>
</Event>
<MyCalendar>
//////////////////////////////////////////////////////////////////////
以上为全部代码,谢谢各位帮我看看