0

我有 :

 DataTable docTags;
     List<IR_TagsName> tags = SomeClass.ShowTagsName(docIdentity);


foreach (DataRow dr in docTags.Rows)
            {
                foreach (IR_TagsName tag in tags)
                {
                    if (dr["TagName"].ToString() == tag.TagName)
                    {
                        dr["TagValue"] = tag.RequestID;
                    }
                }

            }
            TagsRepeater.DataSource = docTags;
            TagsRepeater.DataBind();

中继器代码是:

 <asp:Repeater ID="TagsRepeater" runat="server">
                        <ItemTemplate>
                            <div class="inputWrap">
                                <asp:Label ID="Label2" runat="server" AssociatedControlID="Tags"><%#DataBinder.Eval(Container.DataItem, "TagDescription")%>:&nbsp;</asp:Label>
                                <asp:HiddenField ID="TagName" runat="server" Value='<%#DataBinder.Eval(Container.DataItem, "TagName")%>' />
                                <asp:HiddenField ID="TagDataType" runat="server" Value='<%#DataBinder.Eval(Container.DataItem, "TagDataType")%>' />
                                <asp:TextBox ID="Tags" runat="server" Width="300" ReadOnly="true" Text='<%#DataBinder.Eval(Container.DataItem, "TagValue")%>' CssClass='<%# String.Format("Tag{0}", DataBinder.Eval(Container.DataItem, "TagName")) %>' />
                                <asp:Panel ID="ScriptPanel" runat="server" Visible='<%#(DataBinder.Eval(Container.DataItem, "tagdatatype").ToString() == "4" ? true : false)%>'>
                                    <script type="text/jscript">
                                $(function () {
                                    $(".Tag<%#DataBinder.Eval(Container.DataItem, "TagName")%>").datepicker({dateFormat: "dd.mm.yy"});
                                });
                                    </script>
                                </asp:Panel>
                            </div>
                        </ItemTemplate>
                    </asp:Repeater>

这给了我例外: DataBinding: 'System.Data.DataRowView' does not contain a property with the name 'TagValue'.

我不确定这是循环 DataRow 和设置列表变量的正确方法...如果需要,我将发布更多详细信息

4

1 回答 1

2

DataBinding:“System.Data.DataRowView”不包含名为“TagValue”的属性

您的异常详细信息是不言自明的。在您的dr中,您没有字段名称 ad TagValue。当您尝试访问它时,您会遇到异常。

验证字段的名称并进行更改。也许您想从数据库返回而忘记了,或者名称不同。

于 2013-08-29T08:37:37.960 回答