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) { //テキスト ボックス evetns なしで値がレンダリングされないこのテキスト ボックス
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>