2012-05-10 9 views
0

2-wayデータバインディングでは私だけか、それとも重要なリソースが不足していますか?双方向バインディングをサポートするITemplateフィールドを持つDataBound UserControlを作成する(<%# Bind() %>)

私の問題は、FormView.InsertItemTemplate内に配置するUserControlを作成したことです。

私のUserControl自体にITemplateフィールドがあります。基本的には、私のフォームには、すべてのフォームに共通の5つのコントロールと、フォームに応じてカスタマイズ可能な別のセクションがあります。

私のマークアップは次のようになります。理論的にはすべてが正しいよう

<irt:FormView ID="FormViewInsertEvent" DefaultMode="Insert" runat="server" 
    DataKeyNames="EVENT_ID" DataSourceID="DataSourceEvents"> 
    <InsertItemTemplate> 
     <irt:EventControl ID="EventControlInsertEvent" runat="server" DataSourceID="DataSourceDataModemEvents"     
      EventDate='<%# Bind("EVENT_DATE") %>' 
      EventTypes='<%# Bind("EVENT_TYPE") %>'> 
      <CustomContent> 
       Additional Property: 
       <asp:TextBox ID="AdditionalTextBox" runat="server" Text='<%# Bind("ADDITIONAL_PROPERTY") %>' />        
      </CustomContent> 
     </irt:EventControl> 
    </InsertItemTemplate> 
</irt:FormView> 

私は感じます。しかし、私は、ASP.NETランタイムのコンパイルエラー@line 4637取得:

Compiler Error Message: CS0128: A local variable named 'AdditionalTextBox' is already defined in this scope 

Source Error: 

Line 4635:   #line default 
Line 4636:   #line hidden 
Line 4637:   System.Web.UI.WebControls.TextBox AdditionalTextBox; 
Line 4638:    
Line 4639:   #line 378 "C:\MyProj\trunk\Releases\Source\FilePathSensored.aspx" 

この行のコードをこれです:あなたが見ることができるように

Line 4620:   [System.Diagnostics.DebuggerNonUserCodeAttribute()] 
Line 4621:   public System.Collections.Specialized.IOrderedDictionary @__ExtractValues__control84(System.Web.UI.Control @__container) { 

... 
Line 4628:    #line default 
Line 4629:    #line hidden 
Line 4630:    System.Web.UI.WebControls.TextBox AdditionalTextBox; 
Line 4631:    
Line 4632:    #line 378 "C:\MyProj\trunk\Releases\Source\FilePathSensored.aspx" 
Line 4633:    AdditionalTextBox = ((System.Web.UI.WebControls.TextBox)(@__container.FindControl("AdditionalTextBox"))); 
Line 4634:    
Line 4635:    #line default 
Line 4636:    #line hidden 
Line 4637:    System.Web.UI.WebControls.TextBox AdditionalTextBox; 
Line 4638:    
Line 4639:    #line 378 "C:\MyProj\trunk\Releases\Source\FilePathSensored.aspx" 
Line 4640:    AdditionalTextBox = ((System.Web.UI.WebControls.TextBox)(@__container.FindControl("AdditionalTextBox"))); 
Line 4641:    

、私のASPXのために生成されたコードはAdditionalTextBoxを宣言しました2回

これはなぜですか?もっと重要なのは、これを修正するか、これを回避するには?事前 で

おかげNandun

答えて

0

テキストボックスのIDがあなたのために必須ではありません、あなたはコードビハインドでそれを使用していない場合、あなたはそれを削除安全できるとasp.netはそれを自動生成します。

+0

本当ですが、問題は私が<%# Bind() %>を使用することです。 2ウェイ・バインディングを使用する場合は、IDが必要です。それ以外の場合はエラーになります。 – Nandun

関連する問題