如何将两个列表值从Web服务返回到asp.net项目 [英] How to return two list values from web service to asp.net project
本文介绍了如何将两个列表值从Web服务返回到asp.net项目的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
实际上从我的网络服务我返回下拉值和asp.net中的绑定,但在我的asp.net页面我有两个不同值的下降现在我正在做的是我调用两种不同的方法返回两个列表,但我想只调用一个方法,并从一个调用返回两个不同的列表服务现在可能下面是我的代码。
public 列表< GrpUsersResp> GroupAllReferrals(GrpUsersReq REQ)
{
<跨度类= 代码关键字>使用跨度>(SqlConnection的CON = <跨度类= 代码关键字>新 SqlConnection(con1))
{
SqlCommand cmd = new SqlCommand( Sp_Groups,con);
cmd.CommandType = CommandType.StoredProcedure;
<跨度类= 代码注释> // 跨度> <跨度类= 代码注释> cmd.Parameters.Add( @ PNMode,SqlDbType.NVarChar,50)。价值= 群组;
cmd.Parameters.Add( @ GMode ,SqlDbType.NVarChar,<跨度类= 代码位> 50 跨度>)。值= <跨度类= 代码串> 跨度> <跨度类= 代码串> GrpAllRefUsers 跨度>;
cmd.Parameters.Add( @ GroupID,SqlDbType.NVarChar, 50 )。Value = Req.GroupID;
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
DataTable dt = ds.Tables [ 0 ];
foreach (DataRow dr in dt.Rows)
{
GrpUsersResp cls = new GrpUsersResp();
cls.UserID = dr [ userid]。ToString();
cls.UserName = dr [ UserName]。ToString();
GrpAllRefUsers.Add(cls);
}
DataTable dt = ds.Tables [ 1 ];
foreach (DataRow dr in dt.Rows)
{
GrpUsersResp cls = new GrpUsersResp();
cls.UserID = dr [ userid]。ToString();
cls.UserName = dr [ UserName]。ToString();
GrpReferrals.Add(cls);
}
}
// 但在这里我想要返回两个值如何可能
return GrpAllRefUsers;
}
解决方案
你可以做一个超级列表班
public class returnList
{
public 列表< GrpUsersResp> GrpUsersResp;
public 列表< GrpUsersResp2> GrpUsersResp2;
}
// 然后从方法返回值中分配列表跨度>
returnList toReturn = <跨度类= 代码关键字>新跨度> returnList(){GrpUsersResp = GroupAllReferrals(REQ),GrpUsersResp2 = GroupAllReferrals2(REQ2)};
返回作为
元组<列表>< grpusersresp>,列表与LT; grpusersresp>>< / grpusersresp>< ; / grpusersresp>< / list>
或创建一个包含两个属性public AllRefUsers和Referrals的类,并将其用作返回类型。
Actually from my web service i am return the drop down values and binding in asp.net but in my asp.net page i am having two drop downs with different values now what i am doing is i am calling two different methods to return two lists but i am thinking to call only one method and return two different list from one call to service is it possible now Below is my code.
public List<GrpUsersResp> GroupAllReferrals(GrpUsersReq Req)
{
using (SqlConnection con = new SqlConnection(con1))
{
SqlCommand cmd = new SqlCommand("Sp_Groups", con);
cmd.CommandType = CommandType.StoredProcedure;
//cmd.Parameters.Add("@PNMode", SqlDbType.NVarChar, 50).Value = "Groups";
cmd.Parameters.Add("@GMode", SqlDbType.NVarChar, 50).Value = "GrpAllRefUsers";
cmd.Parameters.Add("@GroupID", SqlDbType.NVarChar, 50).Value = Req.GroupID;
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
DataTable dt = ds.Tables[0];
foreach (DataRow dr in dt.Rows)
{
GrpUsersResp cls = new GrpUsersResp();
cls.UserID = dr["userid"].ToString();
cls.UserName = dr["UserName"].ToString();
GrpAllRefUsers.Add(cls);
}
DataTable dt = ds.Tables[1];
foreach (DataRow dr in dt.Rows)
{
GrpUsersResp cls = new GrpUsersResp();
cls.UserID = dr["userid"].ToString();
cls.UserName = dr["UserName"].ToString();
GrpReferrals.Add(cls);
}
}
//But Here i want return two values how is it possible
return GrpAllRefUsers;
}
解决方案
You could do a super list class
public class returnList { public List<GrpUsersResp> GrpUsersResp; public List<GrpUsersResp2> GrpUsersResp2; } // Then assign lists from method return values returnList toReturn = new returnList(){GrpUsersResp = GroupAllReferrals(Req), GrpUsersResp2 = GroupAllReferrals2(Req2)};
Return as
Tuple<list><grpusersresp>,List<grpusersresp>></grpusersresp></grpusersresp></list>
or create a class with two properties public AllRefUsers and Referrals and use it as return type.
这篇关于如何将两个列表值从Web服务返回到asp.net项目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文