我正在尝试从Web方法返回一个列表。 我正在尝试使用该服务,我遇到了问题。 我想在3个不同的标签中显示这些值,我不知道我该怎么做。
给出以下网络方法:
[WebMethod]
public List<Employee> empWeb(int Id)
{
Employee emp = new Employee();
List<Employee> emplist = new List<Employee>();
con.Open();
SqlCommand cmd = new SqlCommand("select Id,FirstName,Salary from Emp where Id='" + Id + "' ", con);
SqlDataReader dr;
dr = cmd.ExecuteReader();
while (dr.Read())
{
emp.Id = Convert.ToInt32(dr["Id"]);
emp.Name = dr["FirstName"].ToString();
emp.Salary = Convert.ToInt32(dr["Salary"]);
}
con.Close();
emplist.Add(emp);
return emplist;
}
员工类
public class Employee
{
int iId, isalary;
string sname;
public int Id
{
get { return iId; }
set { iId = value; }
}
public string Name
{
get { return sname; }
set { sname = value; }
}
public int Salary
{
get { return isalary; }
set { isalary = value; }
}
}
现在我正在尝试在我的aspx页面中使用。我的aspx页面的代码如下: -
public void GetWebEmp()
{
localhost.Service1 obj = new localhost.Service1();
var lstwebemp = obj.empWeb(1);
}
在这个函数中,我想显示像
这样的值Label1.Text=Emp.Id
Label2.Text=Emp.Name
Label3.Text=Emp.Salary
但它显示lstwebemp
中的所有值
请帮助。
答案 0 :(得分:2)
Label1.Text=lstwebemp[0].Id.ToString();
Label2.Text=lstwebemp[0].Name.ToString();
Label3.Text= lstwebemp[0].Salary.ToString();
Check if you are able to access properties like this .
答案 1 :(得分:1)
得到了解决方案
foreach (var emp in lstwebemp)
{
lbl1.Text =Convert.ToString(emp.Id);
lbl2.Text = Convert.ToString(emp.Name);
lbl3.Text = Convert.ToString(emp.Salary);
}