0

是我一个人还是2路数据绑定的材料严重短缺?

无论如何,我的问题是,我创建了一个要放置在 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 两次

有人知道为什么吗?更重要的是,我该如何解决这个问题或解决这个问题?

在此先感谢南顿

4

1 回答 1

0

如果文本框的 ID 对您来说不是强制性的,并且您没有在代码隐藏中使用它,那么您可以安全地删除它,asp.net 将自动生成它。

于 2012-05-10T07:28:07.713 回答