[英]dropdown inside the repeater in asp.net
我尝试在转发器中添加DropdownList
,但是我替换的是grdfilapprove
码
foreach (GridViewRow row in **GrdFileApprove**.Rows)
{
if (row.RowType == DataControlRowType.DataRow)
{
DropDownList DropDownListcontrol =
row.FindControl("DropDownList4") as
DropDownList;
SqlCommand cmd = new SqlCommand("approveddd", mySQLconnection);
cmd.CommandType = CommandType.StoredProcedure;
我更新我的问题,这是按钮代码
foreach (RepeaterItem row in Repeater2.Items)
//foreach (GridViewRow row in GrdFileApprove.Rows)
{
if (row.**RowType** == DataControlRowType.DataRow)
{
DropDownList DropDownListcontrol =
((DropDownList)**dataItem.**FindControl("DropDownList4"));
//DropDownList DropDownListcontrol = row.FindControl("DropDownList4")
as DropDownList;
SqlCommand cmd = new SqlCommand("approveddd", mySQLconnection);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@DocID", SqlDbType.Int).Value =
Convert.ToInt32((row.Cells[1].Text));
cmd.Parameters.Add("@ApproveID", SqlDbType.Int).Value =
Convert.ToInt32(DropDownListcontrol.SelectedValue);
cmd.Parameters.Add("@ApproveBy", SqlDbType.VarChar, 50).Value =
(Session["Login2"]);
cmd.ExecuteNonQuery();
DMSLIB.Doc myDoc = new DMSLIB.Doc();
myDoc.MarkDocAs(Convert.ToInt16(row.**Cells**[1].Text),
Convert.ToInt32(DropDownListcontrol.SelectedValue));
}
else
{
apfi.Text = "Error";
}
}
现在,当我使用此显示此错误
1. RowType error 'System.Web.UI.WebControls.RepeaterItem' does not contain a definition for 'RowType' and no extension method 'RowType' accepting a first argument of type
'System.Web.UI.WebControls.RepeaterItem' could be found (are you missing a using directive or an assembly reference?)
RowType error 'System.Web.UI.WebControls.RepeaterItem' does not contain a definition for 'RowType' and no extension method 'RowType' accepting a first argument of type
'System.Web.UI.WebControls.RepeaterItem' could be found (are you missing a using directive or an assembly reference?)
2. dataItem error the name 'dataItem' does not exist in the current context
3.Cells System.Web.UI.WebControls.RepeaterItem does not contain a definition for 'Cells' and no extension method 'Cells' accepting a first argument of type 'System.Web.UI.WebControls.RepeaterItem' could be found (are you missing a using directive or an assembly reference?)
4.Cells'System.Web.UI.WebControls.RepeaterItem 'System.Web.UI.WebControls.RepeaterItem' does not contain a definition for 'Cells' and no extension method 'Cells' accepting a first argument of type 'System.Web.UI.WebControls.RepeaterItem' could be found (are you missing a using directive or an assembly reference?)
谢谢
我试图了解您要寻找的内容,但我认为您需要使用此功能为新的中继器循环正确的项目:
foreach(RepeaterItem dataItem in YourRepeater.Items)
{
DropDownList DropDownListcontrol= ((DropDownList)dataItem.FindControl("DropDownList4"));
// Your code
}
您需要使用Repeater的ItemDataBound。 还需要检查ItemType,如下所示:
void Repeater1_ItemDataBound(Object Sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
DropDownList DropDownListcontrol = e.Item.FindControl("DropDownList4") as DropDownList;
//Do other tasks
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.