Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 文本框。文本不';当文本框位于转发器内时,编辑后不会更改_C#_Asp.net_Postback_Postdata - Fatal编程技术网

C# 文本框。文本不';当文本框位于转发器内时,编辑后不会更改

C# 文本框。文本不';当文本框位于转发器内时,编辑后不会更改,c#,asp.net,postback,postdata,C#,Asp.net,Postback,Postdata,直到最近,以下代码一直按预期工作: <asp:FormView runat="server" ID="FormView1" OnDataBound="FormView_OnDataBound" DefaultMode="Edit" OnItemUpdating="FormView1_OnItemUpdating" DataSourceID="FormViewDsObjectDS"> <EditItemTemplate>

直到最近,以下代码一直按预期工作:

<asp:FormView runat="server" ID="FormView1" OnDataBound="FormView_OnDataBound" DefaultMode="Edit"
        OnItemUpdating="FormView1_OnItemUpdating"
        DataSourceID="FormViewDsObjectDS">
        <EditItemTemplate>
            <asp:Repeater runat="server" ID="RepeaterOfRepeaters" OnItemDataBound="RepeaterOfRepeaters_OnItemDataBound">
                <ItemTemplate>
                    <asp:Repeater runat="server" ID="TextBoxRepeater" OnItemDataBound="TextBoxRepeater_OnItemDataBound">
                        <ItemTemplate>
                            <asp:Label runat="server" ID="textLabel" Text='<%# Bind ("LabelText") %>'></asp:Label>
                            <telerik:RadTextBox runat="server" ID="txtBox" Text='<%# Bind ("Value") %>' OnTextChanged="txtBox_OnTextChanged" OnUnload="txtBox_OnUnload"></telerik:RadTextBox>
                            <telerik:RadTextBox runat="server" ID="noBindTxtBox" Text="initial value" />
                        </ItemTemplate>
                    </asp:Repeater>
                </ItemTemplate>
            </asp:Repeater>
            <telerik:RadButton runat="server" ID="submitButton" CommandName="Update" Text="Update"></telerik:RadButton>
        </EditItemTemplate>
    </asp:FormView>
事实证明,它不包含更新的文本框值。也就是说,
postCollection[postDataKey]
值与最初设置的值相同,即使在更改文本框值之后也是如此。有人知道在什么情况下,
LoadPostData
不包含更新值,只包含初始值吗

更新2014-03-19

当在表单视图中直接添加
RRadTextBox
时,我可以在
LoadPostData
方法中看到更新的
Text
属性值

<EditItemTemplate>
        <serverControls:RRadTextBox runat="server" ID="directRRadTxtBox" Text="initial Text"/>


我想补充一点,
FormView
不是在
PageLoad
事件中绑定的,而是在按钮的
OnClick
中绑定的。因此,在编辑过程中不会绑定中继器。

在这种特殊情况下,
中继器
表单视图
控件没有问题。显然,我有一个JavaScript函数,可以将
中继器创建的所有文本输入控件重置为默认值。此重置JS函数是在对话框关闭事件上执行的。此外,我曾经关闭包含有问题的编辑表单的对话框,并单击提交按钮。因此,我无法在
LoadPostData
中看到更新的值,因为它们不在那里。

txtBox\u OnTextChanged应该在用户更改txtBox上的文本时触发,对吗?是的,但仅在回发期间触发。如果启用了
AutoPostBack
选项,则当控件失去焦点时会触发。在我的例子中,
txtBox\u OnTextChanged
方法仅在
AutoPostBack
设置为“true”时调用,我可以看到文本框的更改。然而,我正在寻找为什么它首先不起作用。嗯,当你最需要它的时候,哪里有那么多智慧:)这个问题听起来很简单,但解释让它很难解决。我在重新启用AutoPost时获取更改文本值时遇到困难。但对你来说情况似乎不同。
<EditItemTemplate>
        <serverControls:RRadTextBox runat="server" ID="directRRadTxtBox" Text="initial Text"/>