我正在创建一个 web 服务方法
,我必须在其中添加来自 data-table
的列表中的项目。这个怎么做?在这里我粘贴我的代码。我在 items.Add(row)
中遇到错误。
[System.Web.Services.WebMethod]
public static List<SelectUsers> GetUsers()
{
List<SelectUsers> items = new List<SelectUsers>();
DataTable DetailsTbl = new DataTable();
int gimId = 0;
if (DetailsTbl.Rows[0]["RwId"] != "")
{
gimId = Convert.ToInt32(DetailsTbl.Rows[0]["RwId"]);
}
DataTable dtAssignTo = SLAFacadeBLL.GetGIMIncidentUsers(gimId);
if (dtAssignTo != null && dtAssignTo.Rows.Count > 0)
{
foreach (DataRow row in dtAssignTo.Rows)
{
items.Add(row);
}
return items;
}
}
选择用户.cs:
public class SelectUsers
{
public string Value { get; set; }
public string Text { get; set; }
}
谁能给点建议?
您不能添加 DataRow
到 List<SelectUsers>
,您必须分配 row
中的值到 SelectUsers
.根据下面的评论,Value
取自 row["Id"]
和 Text
取自 row["Name"]
, 所以这段代码应该可以工作
if (dtAssignTo != null && dtAssignTo.Rows.Count > 0)
{
foreach (DataRow row in dtAssignTo.Rows)
{
items.Add(new SelectUsers { Value = row["Id"].ToString(), Text = row["Name"].ToString() });
}
}
return items;
你应该移动return items;
在if (dtAssignTo != null && dtAssignTo.Rows.Count > 0)
之外避免阻止 not all code paths return a value
错误。
我是一名优秀的程序员,十分优秀!