这里有点奇怪。我使用以下代码将GridView添加到我的网页:
<asp:GridView ID="grdMain" runat="server" AutoGenerateColumns="False" DataKeyNames="Field1" DataSourceID="GridDataSource" EnableViewState="False" CssClass="TriageList" OnRowDataBound="grdListRowDataBound" AlternatingRowStyle-CssClass="GridAlternateRow" HeaderStyle-CssClass="GridHeader" RowStyle-CssClass="GridRow" PagerStyle-CssClass="GridPager">
<Columns>
<asp:BoundField DataField="Field1" ReadOnly="true" HeaderText="Field1" />
<asp:BoundField DataField="Field2" ReadOnly="true" HeaderText="Field2" />
<asp:BoundField DataField="Field3" ReadOnly="true" HeaderText="Field3" />
</Columns>
</asp:GridView>
<asp:SqlDataSource
ID="GridDataSource" runat="server"
SelectCommand="SELECT [Name] FROM [Table] ORDER BY [Name]">
</asp:SqlDataSource>
我的网页上有4个这样的网格,它们都运行良好。但是,只要我添加另一个GridView,它就会显示以下消息:
The ConnectionString property has not been initialized.
我添加的其他GridView使用与上述代码段相同的代码,但它使用了以下元素的不同名称:
我不确定为什么只是添加一个额外的网格会阻止它工作,如果我删除网格它工作正常。
我还尝试删除OnRowDataBound引用,因此它没有运行任何代码,但这并没有帮助。
任何帮助都将不胜感激。
答案 0 :(得分:1)
简单忽略的问题,我忘了为SQLDataSource设置一个ConnectionString,在创建动态时我没有在代码中执行此操作,下面的一段代码为我修复了这个。
GridDataSource.ConnectionString = varConnectionString;