本文介绍了如何在GridView中的EditItemTemplate上触发dropdownlist selectedIndexChanged ....请帮我解决这个问题...我是asp.net的新手... thnx提前的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 <%@ Page 标题 = 主页 语言 = C# MasterPageFile = 〜/ Site.master AutoEventWireup = true CodeFile = Default.aspx.cs 继承 = _默认 %> < asp:Content ID = HeaderContent runat = server ContentPlaceHolderID = HeadContent > < / asp:Content > < asp:Content ID = BodyContent runat = server ContentPlaceHolderID = 主要内容 > < title > 注册:< / title > < asp:标签 ID = lblFb runat = server / > < 中心 > < 表 cellpadding = 10px > < tr > < td > 名称: < / td > ; < td > < asp:TextBox ID = txtName runat = server / > < / td > < / tr > < tr > < td > 手机: < / td > < td > < asp:TextBox ID = txtMobile runat = server / > < / td > < / tr > < tr > < td > 年龄: < / td > < td > < asp:TextBox ID = txtAge runat = server / > < / td > < / tr > < tr > < td > DoB: < / td > < td > < asp:TextBox ID = txtDoB runat = 服务器 / > < / td > < / tr > < tr > < td > 国家< / td > < td > < asp:DropDownList ID = ddlCountry runat = server AutoPostBack = true onselectedindexchanged = ddlCountry_SelectedIndexChanged > < / asp:DropDownList > < / td > < / tr > < tr > < td > 州< / td > < td > < asp:DropDownList ID = ddlState runat = server AutoPostBack = true onselectedindexchanged = ddlState_SelectedIndexChanged > < asp:ListItem 文字 = - 选择州 - > < / asp:ListItem > < / asp:DropDownList > < / td > < / tr > < tr > < td > 城市< / td > < td > < asp:DropDownList ID = ddlCity runat = server AutoPostBack = true > < asp:ListItem 文本 = - 选择城市 - > < / asp:ListItem > < / asp:DropDownList > < / td > < / tr > < tr > < td colspan = 2 > < asp:按钮 ID = btnSubmit 文本 = 提交 runat = server 字体粗体 = true OnClick = btnSubmit_Click / > < / td > < / tr > < / table > < asp:GridView ID = GridView1 runat = server AllowPaging = True 宽度 = 100% DataKeyNames = ID BackColor = #DEBA84 AutoGenerateColumns = false BorderColor = #DEBA84 BorderStyle = 无 BorderWidth = 1px CellPadding = 5 CellSpacing = 2 onrowediting = GridView1_RowEditing onrowcancelingedit = GridView1_RowCancelingEdit onrowupdating = GridView1_RowUpdating onrowdatabound = GridView1_RowDataBound > < FooterStyle BackColor = #F7DFB5 ForeColor = #8C4510 / > < RowStyle BackColor = #FFF7E7 ForeColor = #8C4510 / > < 列 > < asp:TemplateField Hea derText = Sr.否 > < ItemTemplate > <% #Container.DisplayIndex + 1 %> < / ItemTemplate > < / asp:TemplateField > < asp:TemplateField HeaderText = 名称 > < EditItemTemplate > < asp:TextBox ID = txtEditName runat = 服务器 文字 =' <% #Eval( 名称)%> ' / > < / EditItemTemplate > < ItemTemplate > < asp:标签 ID = lblItemName runat = server 文字 =' <% #Eval( 名称)%> ' / > < / ItemTemplate > < / asp: TemplateField > < asp:TemplateField HeaderText = 移动 > < ; EditItemTemplate > & lt; asp:TextBox ID = txtEditMobile runat = server 文字 =' <% #Eval( Mobile) %>' /> </ EditItemTemplate> <ItemTemplate> <asp:Label ID=\"lblItemMobile\" runat=\"server\" Text='<%#Eval(\"Mobile\")%>' /> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText=\"Age\"> <EditItemTemplate> <asp:TextBox ID=\"txtEditAge\" runat=\"server\" Text='<%#Eval(\"Age\") %>' /> </EditItemTemplate> <ItemTemplate> <asp:Label ID=\"lblItemAge\" runat=\"server\" Text='<%#Eval(\"Age\") %>' /> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText=\"Date of Birth\"> <EditItemTemplate> <asp:TextBox ID=\"txtEditDoB\" runat=\"server\" Text='<%#Eval(\"DoB\") %>' /> </EditItemTemplate> <ItemTemplate> <asp:Label ID=\" lblItemDoB\" runat=\"server\" Text='<%#Eval(\"DoB\") %>' /> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText=\"Country\"> <EditItemTemplate> <asp:DropDownList ID=\"ddleditCountry\" runat=\"server\" OnSelectedIndexChanged=\"ddlEditCountry_selectedIndexCh ange\" AutoPostBack=\"true\" /> <asp:HiddenField ID=\"hdnCountry\" runat=\"server\" Value='<%#Eval(\"Country\") %>' /> </EditItemTemplate> <ItemTemplate> <center> <asp:Label ID=\"lblCountry\" runat=\"serv er\" Text='<%#Eval(\"Country\") %>' /> </center> </ItemTemplate> </asp:TemplateField> <asp:TemplateFi eld HeaderText=\"State\"> <EditItemTemplate> <asp:DropDownList ID=\"ddleditState\" runat=\"server\" /> </EditIt emTemplate> <ItemTemplate> <center> <asp:Label ID=\"lblState\" runat=\"server\" Text='<%#Eval(\"State\") %>' /> </center> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText=\"City\"> <EditItemTemplate> <asp:DropDownList ID=\"ddleditCity\" runat=\"server\" /> </EditItemTemplate> <ItemTemplate> <center> <asp:Label ID=\"lblCity\" runat=\"server\" Text='<%#Eval(\"City\") %>' /> < ;/center> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText=\"Edit\"> <EditItemTemplate> <asp:ImageButton ID=\"imgbtnUpdate\" CommandName=\"Update\" runat=\"server\" ImageUrl=\"~/Images/update.jpg\" ToolTip=\"Update\" Height=\"20px\" Width=\"20px\" /> <asp:ImageButton ID=\"imgbtnCancel\" runat=\"server\" CommandName=\"Cancel\" ImageUrl=\"~/Images/Cancel.jpg\" ToolTip=\"Cancel\" Height=\"20px\" Width=\"20px\" /> </EditItemTemplate> <ItemTemplate> <asp:ImageButton ID=\"imgbtnEdit\" runat=\"server\" ImageUrl=\"~/Images/Edit.jpg\" ToolTip=\"Edit\" Height=\"20px\" Width=\"20px\" CommandName=\"Edit\" /> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText=\"Delete\"> <ItemTemplate> <asp:ImageButton ID=\"imgbtnDelete\" runat=\"server\" ImageUrl=\"~/Images/delete.jpg\" ToolTip=\"Delete\" Height=\"20px\" Width=\"20px\" OnClick=\"GridView1_RowDeleting\" /> </ItemTemplate> </asp:TemplateField> </Columns> <PagerStyle ForeColor=\"#8C4510\" HorizontalAlign=\"Center\" /> <SelectedRowStyle BackColor=\"#738A9C\" F ont-Bold=\"True\" ForeColor=\"White\" /> <HeaderStyle BackColor=\"#A55129\" Font-Bold=\"True\" ForeColor=\"White\" /> <AlternatingRowStyle BorderColor=\"#FF99FF\" /> </asp:GridView> </center> </asp:Content> CS Code: using System; 使用 System.Collections.Generic; 使用 System.Linq; 使用 System.Web; 使用 System.Web.UI; 使用 System.Web.UI.WebControls; 使用 System.Data; using System.Data.SqlClient; using System.Web.UI.HtmlControls; public partial class _Default : System.Web.UI.Page { SqlConnection con = new SqlConnection(@\"server=DELL\SQLEXPRESS; Database=Bussiness; user id=sa; Password=vaishnavisingh;\"); SqlParameter[] prm; SqlDataAdapter da = new SqlDataAdapter(); SqlCommand cmd = new SqlCommand(); DataSet ds = new DataSet(); string str = \"\"; static int id = 0; protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { bindGrid(); bindcountry(); } } protected void bindGrid() { con.Open(); cmd = new SqlCommand(\"Select * From Grid\", con); da = new SqlDataAdapter(cmd); ds = new DataSet(); da.Fill(ds); con.Close(); if (ds.Tables[0].Rows.Count > 0) { GridView1.DataSource = ds; GridView1.DataBind(); } } protected void btnSubmit_Click(object sender, EventArgs e) { prm = new SqlParameter[7]; prm[0] = new SqlParameter(\"@Name\", txtName.Text.Trim()); prm[1] = new SqlParameter(\"@Mobile\", txtMobile.Text.Trim()); prm[2] = new SqlParameter(\"@Age\", txtAge.Text.Trim()); prm[3] = new SqlParameter(\"@DoB\", txtDoB.Text.Trim()); prm[4] = new SqlParameter(\"@Country\", ddlCountry.SelectedItem.Text); prm[5] = new SqlParameter(\"@State\", ddlState.SelectedItem.Text); prm[6] = new SqlParameter(\"@City\", ddlCity.SelectedItem.Text); SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = \"insertData\"; cmd.Connection = con; cmd.Parameters.AddRange(prm); con.Open(); int result = cmd.ExecuteNonQuery(); con.Close(); if (result > 0) { Response.Write(\"Registered successfully\"); Response.Redirect(\"Default.aspx\"); } } protected void GridView1_RowDeleting(object sender, EventArgs e) { ImageButton lnk = ((ImageButton)(GridView1.FindControl(\"imgbtnDelete\"))); lnk = (ImageButton)sender; GridViewRow gvr = (GridViewRow)lnk.NamingContainer; String str = GridView1.DataKeys[gvr.RowIndex].Value.ToString(); int id = Convert.ToInt32(str); prm = new SqlParameter[1]; prm[0] = new SqlParameter(\"@id\", id); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = \"deleteGrid\"; cmd.Connection = con; con.Open(); cmd.Parameters.AddRange(prm); int result = cmd.ExecuteNonQuery(); if (result > 0) { Response.Redirect(\"Default.aspx\"); } } protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) { GridView1.EditIndex = e.NewEditIndex; bindGrid(); } protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) { GridView1.EditIndex = -1; bindGrid(); } protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) { GridViewRow gvr = GridView1.Rows[e.RowIndex]; String str = GridView1.DataKeys[gvr.RowIndex].Value.ToString(); int id = Convert.ToInt32(str); String editName = ((TextBox)GridView1.Rows[e.RowIndex].FindControl(\"txtEditName\")).Text; String editMobile = ((TextBox)GridView1.Rows[e.RowIndex].FindControl(\"txtEditMobile\")).Text; String editAge = ((TextBox)GridView1.Rows[e.RowIndex].FindControl(\"txtEditAge\")).Text; prm = new SqlParameter[2]; prm[0] = new SqlParameter(\"@id\", id); prm[1] = new SqlParameter(\"@RoomType\", editName); Response.Redirect(\"addRoomType.aspx\"); //Its Ryt Code// } protected void bindcountry() { ddlCountry.AppendDataBoundItems = true; ddlCountry.Items.Add(new ListItem(\"--Select Country--\", \"\")); String strQry = \"select Countryid, countryname from country\"; cmd = new SqlCommand(); cmd.CommandType = CommandType.Text; cmd.CommandText = strQry; cmd.Connection = con; try { con.Open(); ddlCountry.DataSource = cmd.ExecuteReader(); ddlCountry.DataTextField = \"CountryName\"; ddlCountry.DataValueField = \"CountryID\"; ddlCountry.DataBind(); } catch (Exception ex) { throw ex; } finally { con.Close(); con.Dispose(); } } protected void ddlCountry_SelectedIndexChanged(object sender, EventArgs e) { ddlState.Items.Clear(); ddlState.Items.Add(new ListItem(\"--select state--\", \"\")); ddlCity.Items.Clear(); ddlCity.Items.Add(new ListItem(\"--select city--\", \"\")); ddlState.AppendDataBoundItems = true; String Qry = \"Select StateID, StateName from State where CountryID=@CountryID\"; cmd = new SqlCommand(); cmd.Parameters.AddWithValue(\"@CountryID\", ddlCountry.SelectedItem.Value); cmd.CommandType = CommandType.Text; cmd.CommandText = Qry; cmd.Connection = con; try { con.Open(); ddlState.DataSource = cmd.ExecuteReader(); ddlState.DataTextField = \"StateName\"; ddlState.DataValueField = \"StateID\"; ddlState.DataBind(); if (ddlState.Items.Count > 1) { ddlState.Enabled = true; } else { ddlState.Enabled = false; ddlCity.Enabled = false; } } catch (Exception ex) { throw ex; } finally { con.Close(); con.Dispose(); } } protected void ddlState_SelectedIndexChanged(object sender, EventArgs e) { ddlCity.Items.Clear(); ddlCity.Items.Add(new ListItem(\"--select city--\", \"\")); ddlCity.AppendDataBoundItems = true; String Qry = \"select Cityid, cityname from city where Stateid=@StateID\"; cmd = new SqlCommand(); cmd.Parameters.AddWithValue(\"@StateID\", ddlState.SelectedItem.Value); cmd.CommandType = CommandType.Text; cmd.CommandText = Qry; cmd.Connection = con; try { con.Open(); ddlCity.DataSource = cmd.ExecuteReader(); ddlCity.DataTextField = \"CityName\"; ddlCity.DataValueField = \"CityID\"; ddlCity.DataBind(); if (ddlCity.Items.Count > 1) { ddlCity.Enabled = true; } else { ddlCity.Enabled = false; } } catch (Exception ex) { throw ex; } finally { con.Close(); con.Dispose(); } } protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (GridView1.EditIndex == e.Row.RowIndex && e.Row.RowType == DataControlRowType.DataRow) { DropDownList ddllist1 = ((DropDownList)e.Row.FindControl(\"ddleditCountry\")); var hdnCountryName = ((HiddenField)e.Row.FindControl(\"hdnCountry\")); ddllist1.AppendDataBoundItems = true; String strQry = \"select Countryid, countryname from country\"; cmd = new SqlCommand(); cmd.CommandType = CommandType.Text; cmd.CommandText = strQry; cmd.Connection = con; try { con.Open(); ddllist1.DataSource = cmd.ExecuteReader(); ddllist1.DataTextField = \"CountryName\"; ddllist1.DataValueField = \"CountryID\"; ddllist1.DataBind(); ddllist1.Items.Insert(0,new ListItem(\"--Select Country--\", \"0\")); ddllist1.Items.FindByText(hdnCountryName.Value).Selected=true; } catch (Exception ex) { throw ex; } finally { con.Close(); con.Dispose(); } } } protected void ddlEditCountry_selectedIndexChange(object sender, EventArgs e) { var ddl1 = ((DropDownList)(GridView1.FindControl(\"ddleditCountry\"))); ddl1 = (DropDownList)sender; GridViewRow gvr = (GridViewRow)ddl1.NamingContainer; ddlState.Items.Clear(); ddlState.Items.Add(new ListItem(\"--select state--\", \"\")); ddlCity.Items.Clear(); ddlCity.Items.Add(new ListItem(\"--select city--\", \"\")); ddlState.AppendDataBoundItems = true; String Qry = \"Select StateID, StateName from State where CountryID=@CountryID\"; cmd = new SqlCommand(); cmd.Parameters.AddWithValue(\"@CountryID\", ddlCountry.SelectedItem.Value); cmd.CommandType = CommandType.Text; cmd.CommandText = Qry; cmd.Connection = con; try { con.Open(); ddlState.DataSource = cmd.ExecuteReader(); ddlState.DataTextField = \"StateName\"; ddlState.DataValueField = \"StateID\"; ddlState.DataBind(); if (ddlState.Items.Count > 1) { ddlState.Enabled = true; } else { ddlState.Enabled = false; ddlCity.Enabled = false; } } catch (Exception ex) { throw ex; } finally { con.Close(); con.Dispose(); } } } 解决方案 Have a look at following links: gridview-dropdownlist-selected-index.html[^] raising-dropdownlist event[^] How to fire Gridview dropdownlist selected index changed[^]just change the name of the dropdownlist control ddlstate...b’coz its alredy exist....<%@ Page Title=\"Home Page\" Language=\"C#\" AutoEventWireup=\"true\" CodeBehind=\"Default.aspx.cs\" Inherits=\"BrainTree._Default\" %> <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"> <html xmlns=\"http://www.w3.org/1999/xhtml\"> <head id=\"Head1\" runat=\"server\"> <title></title> </head> <body> <form id=\"form1\" runat=\"server\"> <div> <%--<asp:GridView ID=\"grdCompany\" runat=\"server\" AutoGenerateColumns=\"False\" DataKeyNames=\"CompanyID\" OnRowUpdating=\"grdCompany_RowUpdating\" OnRowCancelingEdit=\"grdCompany_RowCancelingEdit\" OnRowEditing=\"grdCompany_RowEditing\" OnRowDeleting=\"grdCompany_RowDeleting\" Width=\"100%\" BackColor=\"Azure\"> <%--<Columns> <asp:TemplateField HeaderText=\"Find Country\"> <EditItemTemplate> <asp:DropDownList ID=\"ddlLocation\" runat=\"server\" OnSelectedIndexChanged=\"ddlLocation_SelectedIndexChanged\" AutoPostBack=\"true\" /> </EditItemTemplate> </asp:TemplateField> </Columns> <Columns> <asp:TemplateField HeaderText=\"Company Name\"> <ItemTemplate> <asp:Label ID=\"lblCompanyName\" runat=\"server\" Text='<%#Eval(\"CompanyName\") %>' /> </ItemTemplate> </asp:TemplateField> </Columns> <Columns> <asp:TemplateField HeaderText=\"Company ID\"> <ItemTemplate> <asp:Label ID=\"lblCompanyID\" runat=\"server\" Text='<%#Eval(\"CompanyId\") %>' /> </ItemTemplate> </asp:TemplateField> </Columns> <Columns> <asp:TemplateField HeaderText=\"Company Desc\"> <ItemTemplate> <asp:Label ID=\"lblCompanyDesc\" runat=\"server\" Text='<%#Eval(\"CompanyDesc\") %>' /> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView>--%> <asp:GridView ID=\"GridView1\" runat=\"server\" AutoGenerateColumns=\"false\" OnRowDataBound=\"GridView1_OnRowDataBound\" OnRowUpdating=\"GridView1_RowUpdating\" OnRowCancelingEdit=\"GridView1_RowCancelingEdit\" OnRowEditing=\"GridView1_RowEditing\" OnRowDeleting=\"GridView1_RowDeleting\"> <Columns> <asp:BoundField HeaderText=\" Name\" DataField=\"Location\" /> <asp:TemplateField HeaderText=\"Country\"> <ItemTemplate> <asp:DropDownList ID=\"ddlCountries\" runat=\"server\" AutoPostBack=\"true\" OnSelectedIndexChanged=\"ddlCountries_SelectedIndexChanged\"> </asp:DropDownList> </ItemTemplate> </a sp:TemplateField> </Columns> <Columns> <asp:TemplateField ShowHeader=\"False\"> <ItemTemplate> <asp:LinkButton ID=\"lbBuildingUpdate\" runat=\"server\" CausesValidation=\"False\" CommandName=\"Edit\" Text=\"Edit\"></asp:LinkButton> </ItemTemplate> <EditItemTemplate> <asp:LinkButton ID=\"lbBuildingUpdateSave\" runat=\"server\" CausesValidation=\"True\" CommandName=\"Update\" Text=\"Update\"></asp:LinkButton> &nbsp;<asp:LinkButton ID=\"lbBuildingUpdateCancel\" runat=\"server\" CausesValidation=\"False\" CommandName=\"Cancel\" Text=\"Cancel\"></asp:LinkButton> </EditItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> <asp:Button ID=\"btnAddNewCompany\" runat=\"server\" Text=\"Add New Company\" OnClick=\"btnAddNewCompany_Click\" /> </div> </form> </body> </html> using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using System.Data.SqlClient; u sing System.Web.UI.HtmlControls; using System.Configuration; namespace BrainTree { public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { //bindGrid(); GridView1.DataSource = GetData(); GridView1.DataBind(); } } protected void grdCompany_RowDeleting(object sender, GridViewDeleteEventArgs e) { } protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) { } //protected void grdCompany_RowEditing(object sender, GridViewEditEve ntArgs e) //{ // grdCompany.EditIndex = e.NewEditIndex; // bindGrid(); //} protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) { GridView1.EditIndex = e.NewEditIndex; GridView1.DataSource = GetData(); GridView1.DataBind(); } //protected void grdCompany_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) //{ // grdCompany.EditIndex = -1; // bindGrid(); //} protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) { GridView1.EditIndex = -1; GridView1.DataSource = GetData(); GridV iew1.DataBind(); } protected void grdCompany_RowUpdating(object sender, GridViewUpdateEventArgs e) { } protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) { } protected void ddlLocation_SelectedIndexChanged(object sender, EventArgs e) { DataTable dtOriginalCompany = new DataTable(); DataRow drRowtoAddBRC = dtOriginalCompany.NewRow(); drRowtoAddBRC[\"CompanyName\"] = \"Barclays\"; drRowtoAddBRC[\"CompanyID\"] = \"BRC\"; drRowtoAddBRC[\"CompanyDesc\"] = \"Barclays Pvt Ltd\"; dtOriginalCompany.Rows.Add(drRowtoAddBRC); DataRow drRowtoAddACC = dtOriginalCompany.NewRow(); drRowtoAddACC[\"CompanyName\"] = \"Accenture\"; drRowtoAddACC[\"CompanyID\"] = \"ACC\"; drRowtoAddACC[\"CompanyDesc\"] = \"Accenture Pvt Ltd.\"; dtOriginalCompany.Rows.Add(drRowtoAddACC); DataRow drRowtoAddCRSUI = dtOriginalCompany.NewRow(); drRowtoAddCRSUI[\"CompanyName\"] = \"Credit Suisse\"; drRowtoAddCRSUI[\"CompanyID\"] = \"CRSUI\"; drRowtoAddCRSUI[\"CompanyDesc\"] = \"United Kingdom\"; dtOriginalCompany.Rows.Add(drRowtoAddCRSUI); DataRow drRowtoAddDLL = dtOriginalCompany.NewRow(); drRowtoAddDLL[\"CompanyName\"] = \"Delloite\"; drRowtoAddDLL[\"CompanyID\"] = \"DLL\"; drRowtoAddDLL[\"CompanyDesc\"] = \"Delloite\"; dtOriginalCompany.Rows.Add(drRowtoAddDLL); DataRow drRowtoAddGLT = dtOriginalCompany. NewRow(); drRowtoAddGLT[\"CompanyName\"] = \"HSBC\"; drRowtoAddGLT[\"CompanyID\"] = \"GLT\"; drRowtoAddGLT[\"CompanyDesc\"] = \"HSBC Pvt Ltd.\"; dtOriginalCompany.Rows.Add(drRowtoAddGLT); ViewState[\"dtOriginalCompany\"] = dtOriginalCompany; DataTable dtCurrentCompany = new DataTable(); DataTable dtOldCompany = new DataTable(); dtCurrentCompany = ViewState[\"dtOriginalCompany\"] as DataTable; dtOldCompany = ViewState[\"dtOriginalCompany\"] as DataTable; dtOldCompany.Rows[1].Delete(); ViewState[\"dtOriginalCompany\"] = dtOldCompany; } protected void ddlCountries_SelectedIndexChanged(object sender, EventArgs e) { DataTabl e dtCompany = new DataTable(\"Location\"); dtCompany.Columns.Add(new DataColumn(\"Location\", System.Type.GetType(\"System.String\"))); DataRow drRowtoAddBRC = dtCompany.NewRow(); drRowtoAddBRC[\"Location\"] = \"India\"; dtCompany.Rows.Add(drRowtoAddBRC); DataRow drRowtoAddACC = dtCompany.NewRow(); drRowtoAddACC[\"Location\"] = \"United Kingdom\"; dtCompany.Rows.Add(drRowtoAddACC); DataRow drRowtoAddCRSUI = dtCompany.NewRow(); drRowtoAddCRSUI[\"Location\"] = \"United States\"; dtCompany.Rows.Add(drRowtoAddCRSUI); DataRow drRowtoAddDLL = dtCompany.NewRow(); drRowtoAddDLL[\"Location\"] = \"Australia\"; dtCompany.Rows.Add(drRowtoAddDLL); DataRow drRowtoAddGLT = dtCompany.NewRow(); drRowtoAddGLT[\"Location\"] = \"Canada\"; dtCompany.Rows.Add(drRowtoAddGLT); ViewState[\"dtOriginalCompany\"] = dtCompany; DataTable dtCurrentCompany = new DataTable(); DataTable dtOldCompany = new DataTable(); dtCurrentCompany = ViewState[\"dtOriginalCompany\"] as DataTable; dtOldCompany = ViewState[\"dtOriginalCompany\"] as DataTable; dtOldCompany.Rows[1].Delete(); ViewState[\"dtOriginalCompany\"] = dtOldCompany; } protected void GridView1_OnRowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { //Find the DropDownList in the Row DropDownList ddlCompany = (e.Row.FindControl(\"ddlCountries\") as DropDownList); if (ddlCompany != null) { ddlCompany.Items.Add(new ListItem(\"--Select Location--\", \"\")); ddlCompany.Items.Add(new ListItem(\"Pune\", \"PUNE\")); ddlCompany.Items.Add(new ListItem(\"Bangalore\", \"BGL\")); ddlCompany.Items.Add(new ListItem(\"Chennai\", \"CHN\")); ddlCompany.Items.Add(new ListItem(\"Hyderabad\", \"HYD\")); ddlCompany.Items.Add(new ListItem(\"Mumbai\", \"MUM\")); ddlCompany.DataTextField = \"CityName\"; ddlCompany.DataValueField = \"CityId\"; ddlCompany.DataBind(); } } } protected void btnAddNewCompany_Cli ck(object sender, EventArgs e) { DataTable dtOriginalCompany = new DataTable(\"CompanyData\"); dtOriginalCompany.Columns.Add(new DataColumn(\"CompanyName\", System.Type.GetType(\"System.String\"))); dtOriginalCompany.Columns.Add(new DataColumn(\"CompanyID\", System.Type.GetType(\"System.String\"))); dtOriginalCompany.Columns.Add(new DataColumn(\"CompanyDesc\", System.Type.GetType(\"System.String\"))); DataRow drRowtoAddBRC = dtOriginalCompany.NewRow(); drRowtoAddBRC[\"CompanyName\"] = \"Barclays\"; drRowtoAddBRC[\"CompanyID\"] = \"BRC\"; drRowtoAddBRC[\"CompanyDesc\"] = \"Barclays Pvt Ltd\"; dtOriginalCompany.Rows.Add(drRowtoAddBRC); DataRow drRowtoAddACC = dtOriginalCompany.NewRow(); drRowtoAddACC[\"CompanyName\"] = \"Accenture\"; drRowtoAddACC[\"CompanyID\"] = \"ACC\"; drRowtoAddACC[\"CompanyDesc\"] = \"Accenture Pvt Ltd.\"; dtOriginalCompany.Rows.Add(drRowtoAddACC); DataRow drRowtoAddCRSUI = dtOriginalCompany.NewRow(); drRowtoAddCRSUI[\"CompanyName\"] = \"Credit Suisse\"; drRowtoAddCRSUI[\"CompanyID\"] = \"CRSUI\"; drRowtoAddCRSUI[\"CompanyDesc\"] = \"United Kingdom\"; dtOriginalCompany.Rows.Add(drRowtoAddCRSUI); DataRow drRowtoAddDLL = dtOriginalCompany.NewRow(); drRowtoAddDLL[\"CompanyName\"] = \"Delloite\"; drRowtoAddDLL[\"CompanyID\"] = \"DLL\"; drRowtoAddDLL[\"CompanyDesc\"] = \"Delloite\"; dtOriginalCompany.Rows.Add(drRowtoAddDLL); DataRow drRowtoAddGLT = dtOriginalCompany.NewRow(); drRowtoAddGLT[\"CompanyName\"] = \"HSBC\"; drRowtoAddGLT[\"CompanyID\"] = \"GLT\"; drRowtoAddGLT[\"CompanyDesc\"] = \"HSBC Pvt Ltd.\"; dtOriginalCompany.Rows.Add(drRowtoAddGLT); ViewState[\"dtOriginalCompany\"] = dtOriginalCompany; DataTable dtCurrentCompany = new DataTable(); DataTable dtOldCompany = new DataTable(); dtCurrentCompany = ViewState[\"dtOriginalCompany\"] as DataTable; dtOldCompany = ViewState[\"dtOriginalCompany\"] as DataTable; dtOldCompany.Rows[1].Delete(); ViewState[\"dtOldCompany\"] = dtOldCompany; } private void bindGrid() { DataTable dtCompany = new DataTable(\"CompanyData\"); dtCompany.Columns.Add(new DataColumn(\"Comp anyName\", System.Type.GetType(\"System.String\"))); dtCompany.Columns.Add(new DataColumn(\"CompanyID\", System.Type.GetType(\"System.String\"))); dtCompany.Columns.Add(new DataColumn(\"CompanyDesc\", System.Type.GetType(\"System.String\"))); DataRow drRowtoAddBRC = dtCompany.NewRow(); drRowtoAddBRC[\"CompanyName\"] = \"Barclays\"; drRowtoAddBRC[\"CompanyID\"] = \"BRC\"; drRowtoAddBRC[\"CompanyDesc\"] = \"Barclays Pvt Ltd\"; dtCompany.Rows.Add(drRowtoAddBRC); DataRow drRowtoAddACC = dtCompany.NewRow(); drRowtoAddACC[\"CompanyName\"] = \"Accenture\"; drRowtoAddACC[\"CompanyID\"] = \"ACC\"; drRowtoAddACC[\"CompanyDesc\"] = \"Accenture Pvt Ltd.\"; dtCompany.Rows.Add(drRowtoAddACC); DataRow drRowtoAddCRSUI = dtCompany.NewRow(); drRowtoAddCRSUI[\"CompanyName\"] = \"Credit Suisse\"; drRowtoAddCRSUI[\"CompanyID\"] = \"CRSUI\"; drRowtoAddCRSUI[\"CompanyDesc\"] = \"United Kingdom\"; dtCompany.Rows.Add(drRowtoAddCRSUI); DataRow drRowtoAddDLL = dtCompany.NewRow(); drRowtoAddDLL[\"CompanyName\"] = \"Delloite\"; drRowtoAddDLL[\"CompanyID\"] = \"DLL\"; drRowtoAddDLL[\"CompanyDesc\"] = \"Delloite\"; dtCompany.Rows.Add(drRowtoAddDLL); DataRow drRowtoAddGLT = dtCompany.NewRow(); drRowtoAddGLT[\"CompanyName\"] = \"HSBC\"; drRowtoAddGLT[\"CompanyID\"] = \"GLT\"; drRowtoAddGLT[\"CompanyDesc\"] = \"HSBC Pvt Ltd.\"; dtCompany.Rows.Add(drRowtoAddGLT); //grdCompany.DataSource = dtCompany; //grdCompany.Dat aBind(); } private DataTable GetData() { DataTable dtCompany = new DataTable(\"Location\"); dtCompany.Columns.Add(new DataColumn(\"Location\", System.Type.GetType(\"System.String\"))); DataRow drRowtoAddBRC = dtCompany.NewRow(); drRowtoAddBRC[\"Location\"] = \"India\"; dtCompany.Rows.Add(drRowtoAddBRC); DataRow drRowtoAddACC = dtCompany.NewRow(); drRowtoAddACC[\"Location\"] = \"United Kingdom\"; dtCompany.Rows.Add(drRowtoAddACC); DataRow drRowtoAddCRSUI = dtCompany.NewRow(); drRowtoAddCRSUI[\"Location\"] = \"United States\"; dtCompany.Rows.Add(drRowtoAddCRSUI); DataRow drRowtoAddDLL = dtCompany.NewRow(); drRowtoAddDLL[\"Location\"] = \"Australia \"; dtCompany.Rows.Add(drRowtoAddDLL); DataRow drRowtoAddGLT = dtCompany.NewRow(); drRowtoAddGLT[\"Location\"] = \"Canada\"; dtCompany.Rows.Add(drRowtoAddGLT); return dtCompany; } } }<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent"></asp:Content><asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"> <title>Register:</title> <asp:Label ID="lblFb" runat="server" /> <center> <table cellpadding="10px"> <tr> <td> Name: </td> <td> <asp:TextBox ID="txtName" runat="server" /> </td> </tr> <tr> <td> Mobile: </td> <td> <asp:TextBox ID="txtMobile" runat="server" /> </td> </tr> <tr> <td> Age: </td> <td> <asp:TextBox ID="txtAge" runat="server" /> </td> </tr> <tr> <td> DoB: </td> <td> <asp:TextBox ID="txtDoB" runat="server" /> </td> </tr> <tr> <td>Country</td> <td><asp:DropDownList ID="ddlCountry" runat="server" AutoPostBack="true" onselectedindexchanged="ddlCountry_SelectedIndexChanged"> </asp:DropDownList></td> </tr> <tr> <td>State</td> <td><asp:DropDownList ID="ddlState" runat="server" AutoPostBack="true" onselectedindexchanged="ddlState_SelectedIndexChanged"> <asp:ListItem Text="--select state--"></asp:ListItem> </asp:DropDownList></td> </tr> <tr> <td>City</td> <td><asp:DropDownList ID="ddlCity" runat="server" AutoPostBack="true"> <asp:ListItem Text="--select city--"></asp:ListItem> </asp:DropDownList></td> </tr> <tr> <td colspan="2"> <asp:Button ID="btnSubmit" Text="Submit" runat="server" Font-Bold="true" OnClick="btnSubmit_Click" /> </td> </tr> </table> <asp:GridView ID="GridView1" runat="server" AllowPaging="True" Width="100%" DataKeyNames="ID" BackColor="#DEBA84" AutoGenerateColumns="false" BorderColor="#DEBA84" BorderStyle="None" BorderWidth="1px" CellPadding="5" CellSpacing="2" onrowediting="GridView1_RowEditing" onrowcancelingedit="GridView1_RowCancelingEdit" onrowupdating="GridView1_RowUpdating" onrowdatabound="GridView1_RowDataBound"> <FooterStyle BackColor="#F7DFB5" ForeColor="#8C4510" /> <RowStyle BackColor="#FFF7E7" ForeColor="#8C4510" /> <Columns> <asp:TemplateField HeaderText="Sr. No"> <ItemTemplate> <%#Container.DisplayIndex+1 %> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Name"> <EditItemTemplate> <asp:TextBox ID="txtEditName" runat="server" Text='<%#Eval("Name")%>' /> </EditItemTemplate> <ItemTemplate> <asp:Label ID="lblItemName" runat="server" Text='<%#Eval("Name") %>' /> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Mobile"> <EditItemTemplate> <asp:TextBox ID="txtEditMobile" runat="server" Text='<%#Eval("Mobile") %>' /> </EditItemTemplate> <ItemTemplate> <asp:Label ID="lblItemMobile" runat="server" Text='<%#Eval("Mobile")%>' /> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Age"> <EditItemTemplate> <asp:TextBox ID="txtEditAge" runat="server" Text='<%#Eval("Age") %>' /> </EditItemTemplate> <ItemTemplate> <asp:Label ID="lblItemAge" runat="server" Text='<%#Eval("Age") %>' /> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Date of Birth"> <EditItemTemplate> <asp:TextBox ID="txtEditDoB" runat="server" Text='<%#Eval("DoB") %>' /> </EditItemTemplate> <ItemTemplate> <asp:Label ID="lblItemDoB" runat="server" Text='<%#Eval("DoB") %>' /> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Country"> <EditItemTemplate> <asp:DropDownList ID="ddleditCountry" runat="server" OnSelectedIndexChanged="ddlEditCountry_selectedIndexChange" AutoPostBack="true" /> <asp:HiddenField ID="hdnCountry" runat="server" Value='<%#Eval("Country") %>' /> </EditItemTemplate> <ItemTemplate> <center> <asp:Label ID="lblCountry" runat="server" Text='<%#Eval("Country") %>' /> </center> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="State"> <EditItemTemplate> <asp:DropDownList ID="ddleditState" runat="server" /> </EditItemTemplate> <ItemTemplate> <center> <asp:Label ID="lblState" runat="server" Text='<%#Eval("State") %>' /> </center> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="City"> <EditItemTemplate> <asp:DropDownList ID="ddleditCity" runat="server" /> </EditItemTemplate> <ItemTemplate> <center> <asp:Label ID="lblCity" runat="server" Text='<%#Eval("City") %>' /> </center> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Edit"> <EditItemTemplate> <asp:ImageButton ID="imgbtnUpdate" CommandName="Update" runat="server" ImageUrl="~/Images/update.jpg" ToolTip="Update" Height="20px" Width="20px" /> <asp:ImageButton ID="imgbtnCancel" runat="server" CommandName="Cancel" ImageUrl="~/Images/Cancel.jpg" ToolTip="Cancel" Height="20px" Width="20px" /> </EditItemTemplate> <ItemTemplate> <asp:ImageButton ID="imgbtnEdit" runat="server" ImageUrl="~/Images/Edit.jpg" ToolTip="Edit" Height="20px" Width="20px" CommandName="Edit" /> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Delete"> <ItemTemplate> <asp:ImageButton ID="imgbtnDelete" runat="server" ImageUrl="~/Images/delete.jpg" ToolTip="Delete" Height="20px" Width="20px" OnClick="GridView1_RowDeleting" /> </ItemTemplate> </asp:TemplateField> </Columns> <PagerStyle ForeColor="#8C4510" HorizontalAlign="Center" /> <SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="White" /> <HeaderStyle BackColor="#A55129" Font-Bold="True" ForeColor="White" /> <AlternatingRowStyle BorderColor="#FF99FF" /> </asp:GridView> </center></asp:Content>CS Code:using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Data;using System.Data.SqlClient;using System.Web.UI.HtmlControls;public partial class _Default : System.Web.UI.Page{ SqlConnection con = new SqlConnection(@"server=DELL\SQLEXPRESS; Database=Bussiness; user id=sa; Password=vaishnavisingh;"); SqlParameter[] prm; SqlDataAdapter da = new SqlDataAdapter(); SqlCommand cmd = new SqlCommand(); DataSet ds = new DataSet(); string str = ""; static int id = 0; protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { bindGrid(); bindcountry(); } } protected void bindGrid() { con.Open(); cmd = new SqlCommand("Select * From Grid", con); da = new SqlDataAdapter(cmd); ds = new DataSet(); da.Fill(ds); con.Close(); if (ds.Tables[0].Rows.Count > 0) { GridView1.DataSource = ds; GridView1.DataBind(); } } protected void btnSubmit_Click(object sender, EventArgs e) { prm = new SqlParameter[7]; prm[0] = new SqlParameter("@Name", txtName.Text.Trim()); prm[1] = new SqlParameter("@Mobile", txtMobile.Text.Trim()); prm[2] = new SqlParameter("@Age", txtAge.Text.Trim()); prm[3] = new SqlParameter("@DoB", txtDoB.Text.Trim()); prm[4] = new SqlParameter("@Country", ddlCountry.SelectedItem.Text); prm[5] = new SqlParameter("@State", ddlState.SelectedItem.Text); prm[6] = new SqlParameter("@City", ddlCity.SelectedItem.Text); SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "insertData"; cmd.Connection = con; cmd.Parameters.AddRange(prm); con.Open(); int result = cmd.ExecuteNonQuery(); con.Close(); if (result > 0) { Response.Write("Registered successfully"); Response.Redirect("Default.aspx"); } } protected void GridView1_RowDeleting(object sender, EventArgs e) { ImageButton lnk = ((ImageButton)(GridView1.FindControl("imgbtnDelete"))); lnk = (ImageButton)sender; GridViewRow gvr = (GridViewRow)lnk.NamingContainer; String str = GridView1.DataKeys[gvr.RowIndex].Value.ToString(); int id = Convert.ToInt32(str); prm = new SqlParameter[1]; prm[0] = new SqlParameter("@id", id); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "deleteGrid"; cmd.Connection = con; con.Open(); cmd.Parameters.AddRange(prm); int result = cmd.ExecuteNonQuery(); if (result > 0) { Response.Redirect("Default.aspx"); } } protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) { GridView1.EditIndex = e.NewEditIndex; bindGrid(); } protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) { GridView1.EditIndex = -1; bindGrid(); } protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) { GridViewRow gvr = GridView1.Rows[e.RowIndex]; String str = GridView1.DataKeys[gvr.RowIndex].Value.ToString(); int id = Convert.ToInt32(str); String editName = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("txtEditName")).Text; String editMobile = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("txtEditMobile")).Text; String editAge = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("txtEditAge")).Text; prm = new SqlParameter[2]; prm[0] = new SqlParameter("@id", id); prm[1] = new SqlParameter("@RoomType", editName); Response.Redirect("addRoomType.aspx"); //Its Ryt Code// } protected void bindcountry() { ddlCountry.AppendDataBoundItems = true; ddlCountry.Items.Add(new ListItem("--Select Country--", "")); String strQry = "select Countryid, countryname from country"; cmd = new SqlCommand(); cmd.CommandType = CommandType.Text; cmd.CommandText = strQry; cmd.Connection = con; try { con.Open(); ddlCountry.DataSource = cmd.ExecuteReader(); ddlCountry.DataTextField = "CountryName"; ddlCountry.DataValueField = "CountryID"; ddlCountry.DataBind(); } catch (Exception ex) { throw ex; } finally { con.Close(); con.Dispose(); } } protected void ddlCountry_SelectedIndexChanged(object sender, EventArgs e) { ddlState.Items.Clear(); ddlState.Items.Add(new ListItem("--select state--", "")); ddlCity.Items.Clear(); ddlCity.Items.Add(new ListItem("--select city--", "")); ddlState.AppendDataBoundItems = true; String Qry = "Select StateID, StateName from State where CountryID=@CountryID"; cmd = new SqlCommand(); cmd.Parameters.AddWithValue("@CountryID", ddlCountry.SelectedItem.Value); cmd.CommandType = CommandType.Text; cmd.CommandText = Qry; cmd.Connection = con; try { con.Open(); ddlState.DataSource = cmd.ExecuteReader(); ddlState.DataTextField = "StateName"; ddlState.DataValueField = "StateID"; ddlState.DataBind(); if (ddlState.Items.Count > 1) { ddlState.Enabled = true; } else { ddlState.Enabled = false; ddlCity.Enabled = false; } } catch (Exception ex) { throw ex; } finally { con.Close(); con.Dispose(); } } protected void ddlState_SelectedIndexChanged(object sender, EventArgs e) { ddlCity.Items.Clear(); ddlCity.Items.Add(new ListItem("--select city--", "")); ddlCity.AppendDataBoundItems = true; String Qry = "select Cityid, cityname from city where Stateid=@StateID"; cmd = new SqlCommand(); cmd.Parameters.AddWithValue("@StateID", ddlState.SelectedItem.Value); cmd.CommandType = CommandType.Text; cmd.CommandText = Qry; cmd.Connection = con; try { con.Open(); ddlCity.DataSource = cmd.ExecuteReader(); ddlCity.DataTextField = "CityName"; ddlCity.DataValueField = "CityID"; ddlCity.DataBind(); if (ddlCity.Items.Count > 1) { ddlCity.Enabled = true; } else { ddlCity.Enabled = false; } } catch (Exception ex) { throw ex; } finally { con.Close(); con.Dispose(); } } protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (GridView1.EditIndex == e.Row.RowIndex && e.Row.RowType == DataControlRowType.DataRow) { DropDownList ddllist1 = ((DropDownList)e.Row.FindControl("ddleditCountry")); var hdnCountryName = ((HiddenField)e.Row.FindControl("hdnCountry")); ddllist1.AppendDataBoundItems = true; String strQry = "select Countryid, countryname from country"; cmd = new SqlCommand(); cmd.CommandType = CommandType.Text; cmd.CommandText = strQry; cmd.Connection = con; try { con.Open(); ddllist1.DataSource = cmd.ExecuteReader(); ddllist1.DataTextField = "CountryName"; ddllist1.DataValueField = "CountryID"; ddllist1.DataBind(); ddllist1.Items.Insert(0,new ListItem("--Select Country--", "0")); ddllist1.Items.FindByText(hdnCountryName.Value).Selected=true; } catch (Exception ex) { throw ex; } finally { con.Close(); con.Dispose(); } } } protected void ddlEditCountry_selectedIndexChange(object sender, EventArgs e) { var ddl1 = ((DropDownList)(GridView1.FindControl("ddleditCountry"))); ddl1 = (DropDownList)sender; GridViewRow gvr = (GridViewRow)ddl1.NamingContainer; ddlState.Items.Clear(); ddlState.Items.Add(new ListItem("--select state--", "")); ddlCity.Items.Clear(); ddlCity.Items.Add(new ListItem("--select city--", "")); ddlState.AppendDataBoundItems = true; String Qry = "Select StateID, StateName from State where CountryID=@CountryID"; cmd = new SqlCommand(); cmd.Parameters.AddWithValue("@CountryID", ddlCountry.SelectedItem.Value); cmd.CommandType = CommandType.Text; cmd.CommandText = Qry; cmd.Connection = con; try { con.Open(); ddlState.DataSource = cmd.ExecuteReader(); ddlState.DataTextField = "StateName"; ddlState.DataValueField = "StateID"; ddlState.DataBind(); if (ddlState.Items.Count > 1) { ddlState.Enabled = true; } else { ddlState.Enabled = false; ddlCity.Enabled = false; } } catch (Exception ex) { throw ex; } finally { con.Close(); con.Dispose(); } } } 解决方案 Have a look at following links:gridview-dropdownlist-selected-index.html[^]raising-dropdownlist event[^]How to fire Gridview dropdownlist selected index changed[^]just change the name of the dropdownlist control ddlstate...b'coz its alredy exist....<%@ Page Title="Home Page" Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="BrainTree._Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head id="Head1" runat="server"> <title></title></head><body> <form id="form1" runat="server"> <div> <%--<asp:GridView ID="grdCompany" runat="server" AutoGenerateColumns="False" DataKeyNames="CompanyID" OnRowUpdating="grdCompany_RowUpdating" OnRowCancelingEdit="grdCompany_RowCancelingEdit" OnRowEditing="grdCompany_RowEditing" OnRowDeleting="grdCompany_RowDeleting" Width="100%" BackColor="Azure"> <%--<Columns> <asp:TemplateField HeaderText="Find Country"> <EditItemTemplate> <asp:DropDownList ID="ddlLocation" runat="server" OnSelectedIndexChanged="ddlLocation_SelectedIndexChanged" AutoPostBack="true" /> </EditItemTemplate> </asp:TemplateField> </Columns> <Columns> <asp:TemplateField HeaderText="Company Name"> <ItemTemplate> <asp:Label ID="lblCompanyName" runat="server" Text='<%#Eval("CompanyName") %>' /> </ItemTemplate> </asp:TemplateField> </Columns> <Columns> <asp:TemplateField HeaderText="Company ID"> <ItemTemplate> <asp:Label ID="lblCompanyID" runat="server" Text='<%#Eval("CompanyId") %>' /> </ItemTemplate> </asp:TemplateField> </Columns> <Columns> <asp:TemplateField HeaderText="Company Desc"> <ItemTemplate> <asp:Label ID="lblCompanyDesc" runat="server" Text='<%#Eval("CompanyDesc") %>' /> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView>--%> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" OnRowDataBound="GridView1_OnRowDataBound" OnRowUpdating="GridView1_RowUpdating" OnRowCancelingEdit="GridView1_RowCancelingEdit" OnRowEditing="GridView1_RowEditing" OnRowDeleting="GridView1_RowDeleting"> <Columns> <asp:BoundField HeaderText="Name" DataField="Location" /> <asp:TemplateField HeaderText="Country"> <ItemTemplate> <asp:DropDownList ID="ddlCountries" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlCountries_SelectedIndexChanged"> </asp:DropDownList> </ItemTemplate> </asp:TemplateField> </Columns> <Columns> <asp:TemplateField ShowHeader="False"> <ItemTemplate> <asp:LinkButton ID="lbBuildingUpdate" runat="server" CausesValidation="False" CommandName="Edit" Text="Edit"></asp:LinkButton> </ItemTemplate> <EditItemTemplate> <asp:LinkButton ID="lbBuildingUpdateSave" runat="server" CausesValidation="True" CommandName="Update" Text="Update"></asp:LinkButton> &nbsp;<asp:LinkButton ID="lbBuildingUpdateCancel" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel"></asp:LinkButton> </EditItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> <asp:Button ID="btnAddNewCompany" runat="server" Text="Add New Company" OnClick="btnAddNewCompany_Click" /> </div> </form></body></html>using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Data;using System.Data.SqlClient;using System.Web.UI.HtmlControls;using System.Configuration;namespace BrainTree{ public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { //bindGrid(); GridView1.DataSource = GetData(); GridView1.DataBind(); } } protected void grdCompany_RowDeleting(object sender, GridViewDeleteEventArgs e) { } protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) { } //protected void grdCompany_RowEditing(object sender, GridViewEditEventArgs e) //{ // grdCompany.EditIndex = e.NewEditIndex; // bindGrid(); //} protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) { GridView1.EditIndex = e.NewEditIndex; GridView1.DataSource = GetData(); GridView1.DataBind(); } //protected void grdCompany_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) //{ // grdCompany.EditIndex = -1; // bindGrid(); //} protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) { GridView1.EditIndex = -1; GridView1.DataSource = GetData(); GridView1.DataBind(); } protected void grdCompany_RowUpdating(object sender, GridViewUpdateEventArgs e) { } protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) { } protected void ddlLocation_SelectedIndexChanged(object sender, EventArgs e) { DataTable dtOriginalCompany = new DataTable(); DataRow drRowtoAddBRC = dtOriginalCompany.NewRow(); drRowtoAddBRC["CompanyName"] = "Barclays"; drRowtoAddBRC["CompanyID"] = "BRC"; drRowtoAddBRC["CompanyDesc"] = "Barclays Pvt Ltd"; dtOriginalCompany.Rows.Add(drRowtoAddBRC); DataRow drRowtoAddACC = dtOriginalCompany.NewRow(); drRowtoAddACC["CompanyName"] = "Accenture"; drRowtoAddACC["CompanyID"] = "ACC"; drRowtoAddACC["CompanyDesc"] = "Accenture Pvt Ltd."; dtOriginalCompany.Rows.Add(drRowtoAddACC); DataRow drRowtoAddCRSUI = dtOriginalCompany.NewRow(); drRowtoAddCRSUI["CompanyName"] = "Credit Suisse"; drRowtoAddCRSUI["CompanyID"] = "CRSUI"; drRowtoAddCRSUI["CompanyDesc"] = "United Kingdom"; dtOriginalCompany.Rows.Add(drRowtoAddCRSUI); DataRow drRowtoAddDLL = dtOriginalCompany.NewRow(); drRowtoAddDLL["CompanyName"] = "Delloite"; drRowtoAddDLL["CompanyID"] = "DLL"; drRowtoAddDLL["CompanyDesc"] = "Delloite"; dtOriginalCompany.Rows.Add(drRowtoAddDLL); DataRow drRowtoAddGLT = dtOriginalCompany.NewRow(); drRowtoAddGLT["CompanyName"] = "HSBC"; drRowtoAddGLT["CompanyID"] = "GLT"; drRowtoAddGLT["CompanyDesc"] = "HSBC Pvt Ltd."; dtOriginalCompany.Rows.Add(drRowtoAddGLT); ViewState["dtOriginalCompany"] = dtOriginalCompany; DataTable dtCurrentCompany = new DataTable(); DataTable dtOldCompany = new DataTable(); dtCurrentCompany = ViewState["dtOriginalCompany"] as DataTable; dtOldCompany = ViewState["dtOriginalCompany"] as DataTable; dtOldCompany.Rows[1].Delete(); ViewState["dtOriginalCompany"] = dtOldCompany; } protected void ddlCountries_SelectedIndexChanged(object sender, EventArgs e) { DataTable dtCompany = new DataTable("Location"); dtCompany.Columns.Add(new DataColumn("Location", System.Type.GetType("System.String"))); DataRow drRowtoAddBRC = dtCompany.NewRow(); drRowtoAddBRC["Location"] = "India"; dtCompany.Rows.Add(drRowtoAddBRC); DataRow drRowtoAddACC = dtCompany.NewRow(); drRowtoAddACC["Location"] = "United Kingdom"; dtCompany.Rows.Add(drRowtoAddACC); DataRow drRowtoAddCRSUI = dtCompany.NewRow(); drRowtoAddCRSUI["Location"] = "United States"; dtCompany.Rows.Add(drRowtoAddCRSUI); DataRow drRowtoAddDLL = dtCompany.NewRow(); drRowtoAddDLL["Location"] = "Australia"; dtCompany.Rows.Add(drRowtoAddDLL); DataRow drRowtoAddGLT = dtCompany.NewRow(); drRowtoAddGLT["Location"] = "Canada"; dtCompany.Rows.Add(drRowtoAddGLT); ViewState["dtOriginalCompany"] = dtCompany; DataTable dtCurrentCompany = new DataTable(); DataTable dtOldCompany = new DataTable(); dtCurrentCompany = ViewState["dtOriginalCompany"] as DataTable; dtOldCompany = ViewState["dtOriginalCompany"] as DataTable; dtOldCompany.Rows[1].Delete(); ViewState["dtOriginalCompany"] = dtOldCompany; } protected void GridView1_OnRowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { //Find the DropDownList in the Row DropDownList ddlCompany = (e.Row.FindControl("ddlCountries") as DropDownList); if (ddlCompany != null) { ddlCompany.Items.Add(new ListItem("--Select Location--", "")); ddlCompany.Items.Add(new ListItem("Pune", "PUNE")); ddlCompany.Items.Add(new ListItem("Bangalore", "BGL")); ddlCompany.Items.Add(new ListItem("Chennai", "CHN")); ddlCompany.Items.Add(new ListItem("Hyderabad", "HYD")); ddlCompany.Items.Add(new ListItem("Mumbai", "MUM")); ddlCompany.DataTextField = "CityName"; ddlCompany.DataValueField = "CityId"; ddlCompany.DataBind(); } } } protected void btnAddNewCompany_Click(object sender, EventArgs e) { DataTable dtOriginalCompany = new DataTable("CompanyData"); dtOriginalCompany.Columns.Add(new DataColumn("CompanyName", System.Type.GetType("System.String"))); dtOriginalCompany.Columns.Add(new DataColumn("CompanyID", System.Type.GetType("System.String"))); dtOriginalCompany.Columns.Add(new DataColumn("CompanyDesc", System.Type.GetType("System.String"))); DataRow drRowtoAddBRC = dtOriginalCompany.NewRow(); drRowtoAddBRC["CompanyName"] = "Barclays"; drRowtoAddBRC["CompanyID"] = "BRC"; drRowtoAddBRC["CompanyDesc"] = "Barclays Pvt Ltd"; dtOriginalCompany.Rows.Add(drRowtoAddBRC); DataRow drRowtoAddACC = dtOriginalCompany.NewRow(); drRowtoAddACC["CompanyName"] = "Accenture"; drRowtoAddACC["CompanyID"] = "ACC"; drRowtoAddACC["CompanyDesc"] = "Accenture Pvt Ltd."; dtOriginalCompany.Rows.Add(drRowtoAddACC); DataRow drRowtoAddCRSUI = dtOriginalCompany.NewRow(); drRowtoAddCRSUI["CompanyName"] = "Credit Suisse"; drRowtoAddCRSUI["CompanyID"] = "CRSUI"; drRowtoAddCRSUI["CompanyDesc"] = "United Kingdom"; dtOriginalCompany.Rows.Add(drRowtoAddCRSUI); DataRow drRowtoAddDLL = dtOriginalCompany.NewRow(); drRowtoAddDLL["CompanyName"] = "Delloite"; drRowtoAddDLL["CompanyID"] = "DLL"; drRowtoAddDLL["CompanyDesc"] = "Delloite"; dtOriginalCompany.Rows.Add(drRowtoAddDLL); DataRow drRowtoAddGLT = dtOriginalCompany.NewRow(); drRowtoAddGLT["CompanyName"] = "HSBC"; drRowtoAddGLT["CompanyID"] = "GLT"; drRowtoAddGLT["CompanyDesc"] = "HSBC Pvt Ltd."; dtOriginalCompany.Rows.Add(drRowtoAddGLT); ViewState["dtOriginalCompany"] = dtOriginalCompany; DataTable dtCurrentCompany = new DataTable(); DataTable dtOldCompany = new DataTable(); dtCurrentCompany = ViewState["dtOriginalCompany"] as DataTable; dtOldCompany = ViewState["dtOriginalCompany"] as DataTable; dtOldCompany.Rows[1].Delete(); ViewState["dtOldCompany"] = dtOldCompany; } private void bindGrid() { DataTable dtCompany = new DataTable("CompanyData"); dtCompany.Columns.Add(new DataColumn("CompanyName", System.Type.GetType("System.String"))); dtCompany.Columns.Add(new DataColumn("CompanyID", System.Type.GetType("System.String"))); dtCompany.Columns.Add(new DataColumn("CompanyDesc", System.Type.GetType("System.String"))); DataRow drRowtoAddBRC = dtCompany.NewRow(); drRowtoAddBRC["CompanyName"] = "Barclays"; drRowtoAddBRC["CompanyID"] = "BRC"; drRowtoAddBRC["CompanyDesc"] = "Barclays Pvt Ltd"; dtCompany.Rows.Add(drRowtoAddBRC); DataRow drRowtoAddACC = dtCompany.NewRow(); drRowtoAddACC["CompanyName"] = "Accenture"; drRowtoAddACC["CompanyID"] = "ACC"; drRowtoAddACC["CompanyDesc"] = "Accenture Pvt Ltd."; dtCompany.Rows.Add(drRowtoAddACC); DataRow drRowtoAddCRSUI = dtCompany.NewRow(); drRowtoAddCRSUI["CompanyName"] = "Credit Suisse"; drRowtoAddCRSUI["CompanyID"] = "CRSUI"; drRowtoAddCRSUI["CompanyDesc"] = "United Kingdom"; dtCompany.Rows.Add(drRowtoAddCRSUI); DataRow drRowtoAddDLL = dtCompany.NewRow(); drRowtoAddDLL["CompanyName"] = "Delloite"; drRowtoAddDLL["CompanyID"] = "DLL"; drRowtoAddDLL["CompanyDesc"] = "Delloite"; dtCompany.Rows.Add(drRowtoAddDLL); DataRow drRowtoAddGLT = dtCompany.NewRow(); drRowtoAddGLT["CompanyName"] = "HSBC"; drRowtoAddGLT["CompanyID"] = "GLT"; drRowtoAddGLT["CompanyDesc"] = "HSBC Pvt Ltd."; dtCompany.Rows.Add(drRowtoAddGLT); //grdCompany.DataSource = dtCompany; //grdCompany.DataBind(); } private DataTable GetData() { DataTable dtCompany = new DataTable("Location"); dtCompany.Columns.Add(new DataColumn("Location", System.Type.GetType("System.String"))); DataRow drRowtoAddBRC = dtCompany.NewRow(); drRowtoAddBRC["Location"] = "India"; dtCompany.Rows.Add(drRowtoAddBRC); DataRow drRowtoAddACC = dtCompany.NewRow(); drRowtoAddACC["Location"] = "United Kingdom"; dtCompany.Rows.Add(drRowtoAddACC); DataRow drRowtoAddCRSUI = dtCompany.NewRow(); drRowtoAddCRSUI["Location"] = "United States"; dtCompany.Rows.Add(drRowtoAddCRSUI); DataRow drRowtoAddDLL = dtCompany.NewRow(); drRowtoAddDLL["Location"] = "Australia"; dtCompany.Rows.Add(drRowtoAddDLL); DataRow drRowtoAddGLT = dtCompany.NewRow(); drRowtoAddGLT["Location"] = "Canada"; dtCompany.Rows.Add(drRowtoAddGLT); return dtCompany; } }} 这篇关于如何在GridView中的EditItemTemplate上触发dropdownlist selectedIndexChanged ....请帮我解决这个问题...我是asp.net的新手... thnx提前的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!
11-02 05:58