问题描述
WCF回傳一個List<User>,如何顯示在DetailsView上?試過:protectedvoidPage_Load(objectsender,EventArgse){ServiceClientclient=newServiceClient();DetailsView1.DataSource=client.GetAllUsers();DetailsView1.DataBind();}結果沒東西看~
解决方案
解决方案二:
应该是可以的,如果没有显示,可能是返回值就没有数据。还有要看你前台是如何设置DetailsView的??
解决方案三:
引用1楼的回复:
应该是可以的,如果没有显示,可能是返回值就没有数据。还有要看你前台是如何设置DetailsView的??
我用WCFTestClient去測試是有數據返回的(PS.wcf返回的是JSON格式的):<s:Envelopexmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Header/><s:Body><GetAllUsersResponsexmlns="http://tempuri.org/"><GetAllUsersResultxmlns:a="http://schemas.datacontract.org/2004/07/GQS_Server"xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><a:User><a:CreationDate>2012-04-12T11:59:38+08:00</a:CreationDate><a:Email>User1@User1.com</a:Email><a:IsApproved>true</a:IsApproved><a:Passwordi:nil="true"/><a:UserName>User1</a:UserName></a:User><a:User><a:CreationDate>2012-04-12T11:59:38+08:00</a:CreationDate><a:Email>User1@User1.com</a:Email><a:IsApproved>true</a:IsApproved><a:Passwordi:nil="true"/><a:UserName>User1</a:UserName></a:User><a:User><a:CreationDate>2012-04-12T11:59:38+08:00</a:CreationDate><a:Email>User1@User1.com</a:Email><a:IsApproved>true</a:IsApproved><a:Passwordi:nil="true"/><a:UserName>User1</a:UserName></a:User></GetAllUsersResult></GetAllUsersResponse></s:Body></s:Envelope>
------------------------------------------------ASP.NET的DetailsView:<asp:DetailsViewID="DetailsView1"runat="server"Height="50px"Width="125px"AllowPaging="True"AutoGenerateDeleteButton="True"AutoGenerateEditButton="True"AutoGenerateInsertButton="True"></asp:DetailsView>
解决方案四:
引用1楼的回复:
应该是可以的,如果没有显示,可能是返回值就没有数据。还有要看你前台是如何设置DetailsView的??
解決了,原來wcf沒更新.但現在問題是它只顯示第一組的資料,怎讓他顯示全部?
解决方案五:
DetailsView控件就是现实详细的一组数据,如果要显示全部记录,请使用GridView、Repeater、FormView等控件进行绑定。比如绑定Repeater上面,为Repeater的行添加Click点击事件,然后将该行记录绑定到DetailsView中显示,DetailsView是用来做这个的。想要显示全部数据,将你的DetailsView换成Repeater即可<asp:RepeaterID="rpt"runat="server"Height="50px"Width="125px"AllowPaging="True"AutoGenerateColumns="true"></asp:Repeater>protectedvoidPage_Load(objectsender,EventArgse){ServiceClientclient=newServiceClient();rpt.DataSource=client.GetAllUsers();rpt.DataBind();}
解决方案六:
引用4楼的回复:
DetailsView控件就是现实详细的一组数据,如果要显示全部记录,请使用GridView、Repeater、FormView等控件进行绑定。比如绑定Repeater上面,为Repeater的行添加Click点击事件,然后将该行记录绑定到DetailsView中显示,DetailsView是用来做这个的。想要显示全部数据,将你的DetailsView换成Repeater即可……
我轉用Gridview,但顯示了3組同樣的數據(返回的是3組不同的數據)
解决方案七:
引用5楼的回复:
引用4楼的回复:DetailsView控件就是现实详细的一组数据,如果要显示全部记录,请使用GridView、Repeater、FormView等控件进行绑定。比如绑定Repeater上面,为Repeater的行添加Click点击事件,然后将该行记录绑定到DetailsView中显示,DetailsView是用来做这个的。想要显示全部数据,将你的DetailsVi……
那是你SQL语句问题吧?你上面的wcf上面获取到的三组值本身都一样啊,你看下你自己2楼贴的东西。还有如果你wcf有更新,需要重新生成一下解决方案的,你做了嘛?
解决方案八:
引用6楼的回复:
引用5楼的回复:引用4楼的回复:DetailsView控件就是现实详细的一组数据,如果要显示全部记录,请使用GridView、Repeater、FormView等控件进行绑定。比如绑定Repeater上面,为Repeater的行添加Click点击事件,然后将该行记录绑定到DetailsView中显示,DetailsView是用来做这个的。想要显示全……
ok了,犯了點小錯誤@,@對了,如何隱藏某欄?我不想顯示Password這欄
解决方案九:
引用7楼的回复:
引用6楼的回复:引用5楼的回复:引用4楼的回复:DetailsView控件就是现实详细的一组数据,如果要显示全部记录,请使用GridView、Repeater、FormView等控件进行绑定。比如绑定Repeater上面,为Repeater的行添加Click点击事件,然后将该行记录绑定到DetailsView中显示,DetailsView是……
那就要前台定制想要的列,不能让他全部自动加载所有的字段就可以了<asp:RepeaterID="rpt"runat="server"Height="50px"Width="125px"AllowPaging="True"AutoGenerateColumns="false"><HeaderTemplate><table><tr><th>创建日期</th><th>邮箱</th><th>是否审核</th><th>用户名</th></tr></HeaderTemplate><ItemTemplate><tr><td><%#Eval("CreationDate")%></td><td><%#Eval("Email")%></td><td><%#Eval("IsApproved")%></td><td><%#Eval("UserName")%></td></tr></ItemTemplate><FooterTemplate></table></FooterTemplate></asp:Repeater>protectedvoidPage_Load(objectsender,EventArgse){ServiceClientclient=newServiceClient();rpt.DataSource=client.GetAllUsers();rpt.DataBind();}