DetailsView1激发了未处理的事件 ModeChanging。
<asp:DetailsView ID="DetailsView1" runat="server" BackColor="White" BorderColor="#3366CC" AllowPaging="True"BorderStyle="None" BorderWidth="1px" CellPadding="4" DataKeyNames="发货单ID"
Height="50px" Width="932px" AutoGenerateRows="False" OnItemInserting="DetailsView1_ItemInserting" OnItemUpdating="DetailsView1_ItemUpdating" OnItemInserted="DetailsView1_ItemInserted" OnItemUpdated="DetailsView1_ItemUpdated">
<FooterStyle BackColor="#99CCCC" ForeColor="#003399" />
<EditRowStyle BackColor="#009999" Font-Bold="True" ForeColor="#CCFF99" />
<RowStyle BackColor="White" ForeColor="#003399" />
<PagerStyle BackColor="#99CCCC" ForeColor="#003399" HorizontalAlign="Left" />
<Fields>
<asp:CommandField ShowEditButton="True" ShowInsertButton="True" />
<asp:BoundField DataField="发货单ID" HeaderText="发货单ID" InsertVisible="False" ReadOnly="True" SortExpression="发货单ID" />
<asp:BoundField DataField="发货单号" HeaderText="发货单号" SortExpression="发货单号" />
<asp:BoundField DataField="合同号" HeaderText="合同号" SortExpression="合同号" />
<asp:BoundField DataField="客户名称" HeaderText="客户名称" SortExpression="客户名称" />
<asp:BoundField DataField="本单发货日期" HeaderText="本单发货日期" SortExpression="本单发货日期" />
<asp:BoundField DataField="发货目的" HeaderText="发货目的" SortExpression="发货目的" />
<asp:BoundField DataField="发货申请人员" HeaderText="发货申请人员" SortExpression="发货申请人员" />
<asp:BoundField DataField="货运公司" HeaderText="货运公司" SortExpression="货运公司" />
<asp:BoundField DataField="货运单号" HeaderText="货运单号" SortExpression="货运单号" />
<asp:BoundField DataField="备注" HeaderText="备注" SortExpression="备注" />
</Fields>
<HeaderStyle BackColor="#003399" Font-Bold="True" ForeColor="#CCCCFF" />
</asp:DetailsView>
CS代码如下
SqlDataAdapter ad = new SqlDataAdapter(strQuery, cn);
DataSet ds = new DataSet();
ad.Fill(ds,"omers");
DetailsView1.DataSource = ds;
DetailsView1.DataBind();
显示数据是正确的,但是一单击,更新或插入,就报错
异常详细信息: System.Web.HttpException: DetailsView“DetailsView1”激发了未处理的事件 ModeChanging。
--------------------编程问答-------------------- UP,简单的问题呀 --------------------编程问答-------------------- 在浏览、编辑、插入模式下切换时触发那个事件,你加上那个事件看有什么提示。 --------------------编程问答-------------------- UP --------------------编程问答-------------------- 你要给更新编辑的事件添加相应的处理逻辑,如不需要就不用更新或插入功能
--------------------编程问答-------------------- 我的问题和你一样啊
DETAILVIEW只有用了DATASOURCE这个控件才能自动生成编辑的代码,如果数据源是我们手动写的,就会发生楼主的情况,到底这个modechanging应该怎么样写,才能和自动生成的"编辑"产生的效果一样? --------------------编程问答-------------------- protected void DetailsView1_ModeChanging(object sender, DetailsViewModeEventArgs e)
{
DetailsView1.ChangeMode(e.NewMode );
//
/*选择数据源并重新绑定
//
DetailsView1.DataSource = (new AuthorAccess.AuthorAccess()).GetAuthorByID((string)this.GridView1.SelectedValue);
*/
DetailsView1.DataBind();
DetailsView1.Visible = true;
}
我的方法好用的话别忘记给分哦 --------------------编程问答-------------------- 什么都不做,加上那个事件就可以 --------------------编程问答-------------------- mark --------------------编程问答-------------------- protected void DetailsView1_ModeChanging(object sender, DetailsViewModeEventArgs e)
{
DetailsView1.ChangeMode(e.NewMode );
} --------------------编程问答-------------------- 那我点了Update 报ItemUpting没激发。 --------------------编程问答-------------------- protected void DetailsView1_ModeChanging(object sender, DetailsViewModeEventArgs e)
{
//判断模式
if (e.NewMode == DetailsViewMode.Insert)
{
DetailsView1.ChangeMode(DetailsViewMode.Insert);
}
else if (e.NewMode == DetailsViewMode.Edit)
{
DetailsView1.ChangeMode(DetailsViewMode.Edit);
}
else if (e.CancelingEdit)
{
//取消插入模式
if (DetailsView1.CurrentMode == DetailsViewMode.Insert)
{
DetailsView1.ChangeMode(DetailsViewMode.ReadOnly);
}
//取消编辑模式
else if (DetailsView1.CurrentMode == DetailsViewMode.Edit)
{
DetailsView1.ChangeMode(DetailsViewMode.ReadOnly);
}
}
}
protected void DetailsView1_ItemCommand(object sender, DetailsViewCommandEventArgs e)
{
//判断单击那个按钮
if (e.CommandName == "Edit")
{
Literal TxtMsg = new Literal();
TxtMsg.Text = "<script>alert('进入编辑模式')</script>";
Page.Controls.Add(TxtMsg);
}
else if (e.CommandName == "New")
{
Literal TxtMsg = new Literal();
TxtMsg.Text = "<script>alert('插入新的一行')</script>";
Page.Controls.Add(TxtMsg);
}
}
我用了还可以。就是编辑的时候出现两次('进入编辑模式')和取消编辑时没有反应。。。 --------------------编程问答-------------------- 什么问题? --------------------编程问答-------------------- 上面的有些哥还是讲对了的 --------------------编程问答-------------------- 用下面这个,,,
DetailsView1.DataBind();
很强悍,,,我刚试的
补充:.NET技术 , ASP.NET