我在使用DataList做编辑功能的时候出现了个怪问题,
下面是编辑模板的内容。
<EditItemTemplate>
<tr>
<td><%#Eval("Role_ID") %></td><td>
<asp:TextBox ID="txtRoleName" runat="server" Text='<%#Eval("Role_Name") %>' ></asp:TextBox></td><td>
<asp:LinkButton ID="LinkButton3" runat="server" CommandName="Update">确定修改</asp:LinkButton> <asp:LinkButton
ID="LinkButton4" runat="server" CommandName="Cancel">取消</asp:LinkButton></td>
</tr>
</EditItemTemplate>
下面是更新的事件代码:
protected void DataList1_UpdateCommand(object source, DataListCommandEventArgs e)
{
int index = Convert.ToInt16(this.DataList1.DataKeys[e.Item.ItemIndex]);
string txb = ((TextBox)e.Item.FindControl("txtRoleName")).Text.ToString();
Response.Write(index+","+txb);
}
问题在于:
我在更新事件中先测试取得的值
这个txb变量,只能取得数据库里面的初始值,比如数据库里面该字段的值是:1000。 我在编辑模式下把它改为20000,
但是txb取得的竟然是1000,不会取得我修改的值,实现不了更新,请大侠帮忙了
下面是编辑模板的内容。
<EditItemTemplate>
<tr>
<td><%#Eval("Role_ID") %></td><td>
<asp:TextBox ID="txtRoleName" runat="server" Text='<%#Eval("Role_Name") %>' ></asp:TextBox></td><td>
<asp:LinkButton ID="LinkButton3" runat="server" CommandName="Update">确定修改</asp:LinkButton> <asp:LinkButton
ID="LinkButton4" runat="server" CommandName="Cancel">取消</asp:LinkButton></td>
</tr>
</EditItemTemplate>
下面是更新的事件代码:
protected void DataList1_UpdateCommand(object source, DataListCommandEventArgs e)
{
int index = Convert.ToInt16(this.DataList1.DataKeys[e.Item.ItemIndex]);
string txb = ((TextBox)e.Item.FindControl("txtRoleName")).Text.ToString();
Response.Write(index+","+txb);
}
问题在于:
我在更新事件中先测试取得的值
这个txb变量,只能取得数据库里面的初始值,比如数据库里面该字段的值是:1000。 我在编辑模式下把它改为20000,
但是txb取得的竟然是1000,不会取得我修改的值,实现不了更新,请大侠帮忙了
解决方案 »
- 如何发布网站到网上
- .Net 文本框奇怪问题
- 如何在打开网页时禁止VS2005调试?
- VS2005,如何使用Microsoft.Web.UI.WebControls (急,在線等)
- 如何添加自定义控件?
- ASP.NET自学毕业自己做一个小的项目测验一下.
- 怎样在网页中输出地址栏中的地址
- VS2010水晶报表发布到IIS后报错:无效文件名 决心散100分
- 为什么装上windows 2003 server后,VS不能建项目了????
- 在DataGrid里如何得到一个模板列中控件TEXTBOX的值?
- 为什么在本机测试没问题的程序在虚拟主机上运行不了
- 出现并非所有路径代码都有返回值是怎么回事呀,求助!
是的,把你的那个绑定写在if(!this.IsPostBack){//绑定data}里面。
if(!Page.IsPostBack)
{
}