使用.Net Webservice列表功能

时间:2013-12-05 08:18:10

标签: c# asp.net web-services

我正在尝试从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中的所有值 请帮助。

2 个答案:

答案 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 .

enter image description here

答案 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);

    }