0

我在我的 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>&nbsp;
<sga:ActionLinkButton ID="btnCancel" Text="Cancel" runat="server" Type="Cancel"
CausesValidation="False" CommandName="Cancel"></sga:ActionLinkButton>
</div>
4

2 回答 2

0

最终解决了这个问题。如果出现这样的问题,请确保特定控件失去了对用户控件页面的关注,或者使 div id 在包含用户控件的 .aspx 页面中获得焦点。

例如://页面加载时的服务器端:id.focus(); - 解决了上述问题。

于 2013-12-05T11:16:15.430 回答
0

不看代码很难说问题出在哪里。但是,您可能需要刷新页面才能看到更改,请尝试在提交按钮中添加:

 Response.Redirect(Request.RawUrl);

它可能会奏效。

于 2013-12-02T16:27:49.530 回答