C# 禁用的asp.net文本框在启用和更改文本后返回旧值
我的问题是我有一个asp文本框,它有一个值(text),但被禁用(Enabled=“false”) 单击(编辑)按钮后,它将被启用(enabled=“true”),因此我可以更改文本 -->更改文本并单击(保存)按钮后,它会在更改之前获取旧值(文本) 编辑并保存它,而不是新的 只读属性也会出现此问题 我被这件事难住了。。所以任何帮助我都会心存感激C# 禁用的asp.net文本框在启用和更改文本后返回旧值,c#,asp.net,ajax,C#,Asp.net,Ajax,我的问题是我有一个asp文本框,它有一个值(text),但被禁用(Enabled=“false”) 单击(编辑)按钮后,它将被启用(enabled=“true”),因此我可以更改文本 -->更改文本并单击(保存)按钮后,它会在更改之前获取旧值(文本) 编辑并保存它,而不是新的 只读属性也会出现此问题 我被这件事难住了。。所以任何帮助我都会心存感激 <telerik:RadAjaxPanel ID="AjaxPanel1" runat="server" LoadingPanelID=
<telerik:RadAjaxPanel ID="AjaxPanel1" runat="server" LoadingPanelID="LoadingPanelTelerik">
<tr>
<td align="right" valign="top">
<asp:TextBox runat="server" ID="Email" CssClass="InputForm" />
</td>
</tr>
<tr>
<td align="center" colspan="2" valign="bottom">
<asp:Button ID="UpdateButton" runat="server" Text="تـعــديـل" OnClick="Enable_Info" Font-Size="Large" />
<asp:Button ID="CancelButton" runat="server" Text="إلـغـاء" OnClick="Cancel_Info" Font-Size="Large" Visible="false"/>
</td>
</tr>
</telerik:RadAjaxPanel>
好的,问题是您正在将每次加载页面时运行的页面加载中的Email.Text设置为包含所有回发。页面加载在Enable_Info方法之前触发,因此每次都会将文本更改回原处。您只需修改页面加载代码,使其仅在第一次加载页面时运行,而不在回发时运行:
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
Email.Text = myDataTable.Rows[0][2].ToString();
Email.DataBind();
Email.Enabled = false;
}
}
你能把相关的标记和代码粘贴到后面吗?顺便说一句,不要使用
throw-ex代码>。它把堆栈跟踪搞砸了。对于SqlConnection
,您应该只使用using
块。。。第一次知道非常感谢。。你救了我
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
Email.Text = myDataTable.Rows[0][2].ToString();
Email.DataBind();
Email.Enabled = false;
}
}