GridView的一个奇怪问题,求救!

wangfeng002 2006-12-26 12:47:03
<asp:GridView ID="GridViewTree" runat="server" SkinID="NewsDelRel" ShowFooter="true" OnRowEditing="PageSort_RowEditing" OnRowUpdating="PageSort_Updating" OnRowUpdated="PageSort_Updated" OnRowCancelingEdit="PageSort_RowEditingCancel" OnSorting="PageSort_Sorting" OnRowDataBound="RowDataBound_Click" OnRowCommand="PageSort_Command" OnRowDeleting="PageSort_Deleting" EnableSortingAndPagingCallbacks="true">
<Columns>
<asp:BoundField HeaderText="ID" DataField="id" ReadOnly="True" >
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:TemplateField HeaderText="名称" SortExpression="nodeName">
<ItemTemplate><%#DataBinder.Eval(Container.DataItem,"nodeName") %></ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="TxtNodeName" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"nodeName") %>'></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox id="TxtNodeName_Input" runat="server"></asp:TextBox>
</FooterTemplate>
<ItemStyle HorizontalAlign="center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="操作">
<EditItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Update" Text="更新"></asp:LinkButton>
<asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Cancel" Text="取消"></asp:LinkButton>
</EditItemTemplate>
<ItemTemplate>
<asp:LinkButton ID="LinkButton3" runat="server" CausesValidation="False" CommandName="Edit" Text="编辑"></asp:LinkButton>
<asp:LinkButton ID="LinkButton4" runat="server" CausesValidation="False" CommandName="Delete" Text="删除" OnClientClick='return confirm("您确认要删除吗?");' ></asp:LinkButton>
</ItemTemplate>
<FooterTemplate><asp:LinkButton id="LinkButton5" runat="server" CommandName="Insert">增加</asp:LinkButton></FooterTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

cs文件
//编辑
protected void PageSort_RowEditing(Object sender,GridViewEditEventArgs e)
{
GridView g = (GridView)sender;
if (g != null)
{
g.EditIndex = e.NewEditIndex;//获取或设置所编辑行的索引
GvDataBind(g.Attributes["SortField"]);
}
}
protected void PageSort_Updating(Object sender, GridViewUpdateEventArgs e)
{
GridView g = (GridView)sender;
if (g != null)
{
string nodeName = ((TextBox)g.Rows[e.RowIndex].FindControl("TxtNodeName")).Text.Trim();

BaseSql myBase = new BaseSql();
myBase.MyExecuteNonQueryRunText("update admin_TreeMenu set rootNum=" + rootNum +
",treeChild='" + treeChild +
"',nodeName='" + nodeName +
"',treeDepth=" + treeDepth +
",nodeNavigateUrl='" + nodeNavigateUrl +
"' where id=" + g.DataKeys[e.RowIndex].Values[0].ToString());
myBase.ConnClosePublic();
g.EditIndex = -1;
GvDataBind(g.Attributes["SortField"]);

}
}
//行命令
protected void PageSort_Command(Object sender, GridViewCommandEventArgs e)
{
GridView g = (GridView)sender;
if (g != null)
{
switch (e.CommandName)
{
case "Insert":

string nodeName = ((TextBox)g.FooterRow.FindControl("TxtNodeName_Input")).Text.Trim();

myBase.MyExecuteNonQueryRunText("insert into admin_TreeMenu (nodeName) values(" + nodeName + "')");
myBase.ConnClosePublic();
BaseComm.alert(nodeName + "添加成功!");
break;
case "Delete":
case "Update":
BaseComm.alert("update");
break;
default:
break;
}
GvDataBind(g.Attributes["SortField"]);
}
}

问题:在<asp:GridView OnRowCommand="PageSort_Command"中把OnRowCommand="PageSort_Command"去掉,我执行更新就正常,不去掉文本框的内容还是老内容取不了我编辑的新值,不知道为什么?哪位高手看一下问题所在,分不够还有!谢谢!!
...全文
182 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangfeng002 2006-12-26
  • 打赏
  • 举报
回复
不去掉OnRowCommand="PageSort_Command",文本框的内容还是老内容取不了我编辑的新值,不知道为什么?
wangfeng002 2006-12-26
  • 打赏
  • 举报
回复
to:QQMagicer(在IT的路上越走越远)
我的问题已经解决了,谢谢你!
QQMagicer 2006-12-26
  • 打赏
  • 举报
回复
你在执行OnRowCommand事件的时候,引起了页面回发,你调试一下就可以看到,而你不调用这个事件的时候,可能是.net的机制,没有回发页面,所以可以更新,你看看你的
Page_Load事件中有没有
if(!Page.IsPostBack)
{
在这里绑定数据
}
wangfeng002 2006-12-26
  • 打赏
  • 举报
回复
高手在吗?

62,266

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧