正在进行asp.net分配,我必须向用户显示个人资料信息,如果用户想要编辑它,还必须编辑它。
现在,我的问题是:
我能够向用户显示个人资料信息,但在编辑时(我使用相同的文本框编辑个人资料信息)'我在相同的文本框中获取文本的先前值,即来自我的数据库。即使我用新文本替换它,文本框中的文本也不会被替换。
在下面的代码中,txtEditName
从数据库获取其值。我想编辑btnSaveChanges
的点击事件,但是当我调试代码时,我知道该值仍然存在,即将到来来自数据库。
我的测试框是:
<asp:TextBox ID="txtEditName" runat="server" Width="200px" Height="25px" Enabled="false"></asp:TextBox>
我的aspx.cs代码是:
BALSuperAdminProfile objSuperAdminProfile = new BALSuperAdminProfile();
DataTable dt;
int sa_id = 1;
void showSuperAdminInfo()
{
try
{
dt = objSuperAdminProfile.getSuperAdminProfileDetails(sa_id);
txtEditName.Text = dt.Rows[0][2].ToString();
}
catch (Exception Ex)
{
lblResult.Text = "Could Not load Database. Please try Again latter.";
}
}
protected void Page_Load(object sender, EventArgs e)
{
showSuperAdminInfo();
}
protected void btnSaveChanges_Click(object sender, EventArgs e)
{
string name=txtEditName.Text;
try
{
dt = objSuperAdminProfile.editSuperAdminProfile(sa_id, name,);
lblResult.Text = dt.Rows[0][0].ToString();
showSuperAdminInfo();
}
catch (Exception Ex)
{
lblResult.Text = Ex.Message;
}
}
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
txtEditName.Enabled = true;
}
}
可能是什么问题?
请帮助。
答案 0 :(得分:0)
在
上编写您的检索代码If(!isPostBack)
{
}
页面加载时使该文本框属性ReadOnly:True
当您单击编辑按钮时,将Readonly设为false并编写用于更新的代码
答案 1 :(得分:0)
在文本框中显示名称时,您正在使用showSuperAdminInfo()中的行[0] [0]元素
txtEditName.Text = dt.Rows[0][2].ToString();
在标签中显示结果时,您在btnSaveChanges_Click()中使用不同的索引
lblResult.Text = dt.Rows[0][0].ToString();
要检查的另一件事是您的业务层中的函数editSuperAdminProfile()。