C# 在运行时在GridView中添加并查找Dropdownlist
在我的asp.net应用程序中,我使用了Gridview控件,在该控件中,我必须在运行时为每个单元格添加Dropdownlist。我能够成功绑定该控件。 下面是我在行数据绑定事件中的代码C# 在运行时在GridView中添加并查找Dropdownlist,c#,asp.net,gridview,C#,Asp.net,Gridview,在我的asp.net应用程序中,我使用了Gridview控件,在该控件中,我必须在运行时为每个单元格添加Dropdownlist。我能够成功绑定该控件。 下面是我在行数据绑定事件中的代码 foreach (GridViewRow row in gdvLocation.Rows) { if (row.RowType == DataControlRowType.DataRow) { for (int i = 1; i < row.Cells.Count; i++) {
foreach (GridViewRow row in gdvLocation.Rows) {
if (row.RowType == DataControlRowType.DataRow) {
for (int i = 1; i < row.Cells.Count; i++) {
var dlRouteType = new DropDownList();
dlRouteType.ID = "ddlRouteType";
dlRouteType.DataSource = GetRouteTypeList();
dlRouteType.DataTextField = "RouteType";
dlRouteType.DataValueField = "Id";
dlRouteType.DataBind();
row.Cells[i].Controls.Add(dlRouteType);
}
}
}
但我在下拉对象中得到null。我甚至在aspx页面中添加了更新面板。欢迎任何建议。
提前谢谢
Sangeetha您的代码中有这些错误
foreach
dlRouteType.ID=“ddlRouteType_uu1;”+i代码>
protected void gdvLocation_RowDataBound(object sender, GridViewRowEventArgs e)
{
//removed the foreach loop
var row = e.Row;
if (row.RowType == DataControlRowType.DataRow)
{
for (int i = 0; i < row.Cells.Count; i++) //changed index
{
var dlRouteType = new DropDownList();
dlRouteType.ID = "ddlRouteType_" + i; //gave unique id
dlRouteType.DataSource = GetRouteTypeList();
dlRouteType.DataTextField = "RouteType";
dlRouteType.DataValueField = "Id";
dlRouteType.DataBind();
row.Cells[i].Controls.Add(dlRouteType);
}
}
}
protectedvoid gdvLocation_RowDataBound(对象发送方,GridViewRowEventArgs e)
{
//移除了foreach循环
var行=e行;
if(row.RowType==DataControlRowType.DataRow)
{
对于(int i=0;i
您可能在错误的单元格中查找,请尝试使用row.FindControl(“ddlRouteType”);另外,请确保在回发时不会重新绑定gridview。是否要将ddl添加到每行的每一列?您应该发布整个按钮单击处理程序
protected void gdvLocation_RowDataBound(object sender, GridViewRowEventArgs e)
{
//removed the foreach loop
var row = e.Row;
if (row.RowType == DataControlRowType.DataRow)
{
for (int i = 0; i < row.Cells.Count; i++) //changed index
{
var dlRouteType = new DropDownList();
dlRouteType.ID = "ddlRouteType_" + i; //gave unique id
dlRouteType.DataSource = GetRouteTypeList();
dlRouteType.DataTextField = "RouteType";
dlRouteType.DataValueField = "Id";
dlRouteType.DataBind();
row.Cells[i].Controls.Add(dlRouteType);
}
}
}