我在我的 ascx 页面中创建了一个 radtextbox 并设置了 autopostback = "true"。我有一个用于提交用户控件详细信息的插入按钮。但是文本框仅在第一页加载或更改我的文本框文本时返回文本值。如果我在不更改文本框值的情况下提交按钮,则 textbox.text 即使有文本也会返回 null。除非我们在 rad 文本框上执行一些事件,否则文本框不会返回现有值
所有控件都在 .aspx 的占位符内:
<telerik:RadAjaxPanel ID="RadAjaxPanel2" runat="server">
<asp:Placeholder runat="server" ID="IELTSPanel">
<tr>
<th>IELTS Overall</th>
<th>Listening</th>
<th>Reading</th>
<th>Writing</th>
</tr>
<tr>
<td>
sga:SgRadTextBox runat="server" ID="IELTSOverallTextBox" AutoPostBack="true" >--> not working
</sga:SgRadTextBox>
</td>
//other codes
<td>--. this is working correctly
<sga:SgRadTextBox runat="server" ID="IELTSNumberTextBox" AutoPostBack="true" Text='<%# LanguageProficiencyItem(IELTSProficiencyEnum.IELTSNumber.ToString())!=null? LanguageProficiencyItem(IELTSProficiencyEnum.IELTSNumber.ToString()).Value.Value:string.Empty%'></sga:SgRadTextBox>
</td>
</asp:Placeholder>
</telerik:RadAjaxPanel>
</table>
//将.cs中的值绑定到基于组合选择的字符串
protected void SaveValues(int languageProficiencyId) { //这个文本框没有任何文本框,没有呈现值
SaveLanguageProficiencyDetail(languageProficiencyId, IELTSProficiencyEnum.IELTSOverall.ToString(), IELTSOverallTextBox.Text);
// 其他代码正常工作
SaveLanguageProficiencyDetail(languageProficiencyId, IELTSProficiencyEnum.IELTSNumber.ToString(), IELTSNumberTextBox.Text);
}
//插入按钮
<div class="ButtonToolBar">
<sga:ActionLinkButton ID="btnUpdate" Type="Save" CommandArgument="LanguageSave"
Text='<%# (Container is GridEditFormInsertItem) ? "Insert" : "Update" %>'
runat="server"
CommandName='<%# (Container is GridEditFormInsertItem) ? "Insert" : "Update" %>'></sga:ActionLinkButton>
<sga:ActionLinkButton ID="btnCancel" Text="Cancel" runat="server" Type="Cancel"
CausesValidation="False" CommandName="Cancel"></sga:ActionLinkButton>
</div>