我的數據庫中有3個表。
我使用「AccountAccessRight」表作爲聯結表實現了N-N關係。
因此,「Account」表與「AccountAccessRight」具有1-N關係,「AccountAccessRight」與「NextOfKin」表具有N-1關係。
我想列出每個賬戶和列表每個賬戶的每個NextOfKins在「Repeater1」中。
這裏是DB圖: alt text http://sites.google.com/site/mahdiahmadirad/download-1/2009-12-12_032800.png?attredirects=03使用LINQtoSQL實現N-N關係的嵌套中繼器
所以我寫了這個代碼:
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="ObjectDataSource1">
<HeaderTemplate>
</HeaderTemplate>
<ItemTemplate>
<div style="clear: both;">
<img style="float: right;" alt="" src="./img/account.png" />
<a href='<%# Eval("AccountUrl")%>'>
<%# Eval("AccountTitle")%>
</a>
<br />
<span>نام کاربري:</span><%# Eval("AccountUsername")%><br />
<asp:Repeater ID="Repeater2" DataSource="<%# ((aspnet_AccountTable)(Container.DataItem)).aspnet_AccountAccessRights %>"
runat="server">
<ItemTemplate>
<asp:Repeater ID="Repeater3" DataSource="<%# ((aspnet_AccountAccessRight)(Container.DataItem)).aspnet_NextOfKinTable %>"
runat="server">
<HeaderTemplate>
<hr />
</HeaderTemplate>
<ItemTemplate>
<span>وارث يا وارثان:</span>
<div>
<a href='<%# Eval("NoKId","./FullInfo.aspx?Mode=view&nok={0}")%>'>
<%# Eval("Firstname")%>
<%# Eval("Lastname")%>
</a>,
</div>
</ItemTemplate>
<FooterTemplate>
<hr />
</FooterTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:Repeater>
<%--<span>وارث(ان) حساب:</span><%# Eval("Relationship")%><br />--%>
<%--<span>نام وارث:</span><%# Eval("FirstName") %> <%# Eval("LastName") %>--%>
</div>
</ItemTemplate>
</asp:Repeater>
看repeater2和3的DataSource!
Commander Repeater3中存在異常。
注意, 「objectdatasource1」 只是項目的所有aspnet_accountTable:
...
from acc in db.aspnet_AccountTable
select acc;
...
你能幫助我?
新增: 這裏到處是例外產品詳情:
System.ArgumentException was unhandled by user code
Message="An invalid data source is being used for Repeater3. A valid data source must implement either IListSource or IEnumerable."
Source="System.Web"
StackTrace:
at System.Web.UI.WebControls.Repeater.set_DataSource(Object value)
at ASP.user_accounts_default_aspx.__DataBinding__control9(Object sender, EventArgs e) in g:\MyProjects\ASP.net Projects\After Dyeing\WebSite\User\Accounts\Default.aspx:line 30
at System.Web.UI.Control.OnDataBinding(EventArgs e)
at System.Web.UI.WebControls.Repeater.OnDataBinding(EventArgs e)
at System.Web.UI.WebControls.Repeater.DataBind()
at System.Web.UI.Control.DataBindChildren()
InnerException:
什麼是例外(英文,如果你還跟分組翻譯它)? – 2009-12-12 03:56:37
我將異常細節粘貼到我的Q. – mahdiahmadirad 2009-12-12 16:05:55