2012-05-10 5 views
0

양방향 데이터 바인딩에 심각한 문제가 있습니까?양방향 바인딩을 지원하는 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> 

내 기분이. 당신이 볼 수 있듯이

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:    

, 내 영문 대해 생성 된 코드는 AdditionalTextBox 선언했습니다

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" 

이 라인의 코드는 이것이다 :하지만 난은 ASP.NET 런타임 컴파일 오류 @line 4637를 얻을 수 두 번

이유가 누구인지 알고 계십니까? 더 중요하게, 어떻게이 문제를 해결하거나이 문제를 해결할 수 있을까요? 사전 Nandun

답변

0

에서

감사 텍스트 상자의 ID가 당신을 위해 의무적으로하지 않습니다 그리고 당신은 당신이 그것을 제거 안전에 수 asp.net가 자동으로 생성됩니다 숨김 코드에서 사용하지 않는 경우 .

+0

사실, 문제는 <%# Bind() %>입니다. 양방향 바인딩을 사용하면 ID가 필요합니다. 그렇지 않으면 오류가 발생합니다. – Nandun