2017-02-14 5 views
0

私はそのビューのテキストボックスの1つに入力に基づいてアクションをトリガーしようとしているFormViewがあります。私が達成しようとしているのは、TextBoxの内容をラベル(CurrentCtrl)に埋め込むために、「protected void ARSControlNumTextBox_TextChanged」の背後にあるコードにコントロールを投げることです。FindControl faux pas

予想される結果が表示されないため、何が起こっているか観察するためにブレークポイントを設定しました。問題のコードは次のとおりです。

protected void ARSControlNumTextBox_TextChanged(object sender, EventArgs e) 
    { 
     TextBox thecontrol = (TextBox)ARS30InputFrm.Row.FindControl("ARSControlNum"); 
     if (thecontrol != null) 
      CurrentCtrl.Text = thecontrol.Text; 
    } 

これは、値の割り当てがスキップされることです。だから、thecontrolがnullであるように見えます!それは忠実ではない。

<asp:FormView runat="server" ID="ARS30InputFrm" DataSourceID="ARFS" DefaultMode="Insert"> 
    <InsertItemTemplate> 
     Control #: 
     <asp:TextBox Text='<%# Bind("ARSControlNum") %>' runat="server" AutoPostBack="true" OnTextChanged="ARSControlNumTextBox_TextChanged" ID="ARSControlNumTextBox" /> 
     <asp:LinkButton runat="server" Text="Insert" CommandName="Insert" ID="InsertButton" CausesValidation="True" />&nbsp;<asp:LinkButton runat="server" Text="Cancel" CommandName="Cancel" ID="InsertCancelButton" CausesValidation="False" /> 
    </InsertItemTemplate> 
</asp:FormView> 

そしてデータは、それがテキストボックスから行くの究極の目標であるラベル:

私はから私の値を取得していますどこで見ることができるようにここで

は、FormViewコントロールの省略部分であり、

Current Control Edit: <asp:Label ID="CurrentCtrl" runat="server" ></asp:Label> 

私はここで間違っているのか分かりません。他の誰かがそれを見ますか?もしそうなら、私は曲がった端から私を追い払っているので、私は確かに目標にいくつかの目を感謝するだろう! よろしく、 ケン...

答えて

4

はずのそれは

protected void ARSControlNumTextBox_TextChanged(object sender, EventArgs e) 
{ 
    TextBox thecontrol = (TextBox)ARS30InputFrm.Row.FindControl("ARSControlNumTextBox"); 
    if (thecontrol != null) 
     CurrentCtrl.Text = thecontrol.Text; 
} 
+0

ことは、はい、あなたは正しいと私はバットとして盲目だ...ありがとう! –