2013-09-07 3 views
0

드롭 다운 목록과 Ajax 업데이트 패널이있는 웹 양식에서 스크립트 관리자를 사용했습니다. 또한 업데이트 패널에 그리드보기가 있습니다. . 데이터 소스를 사용하여 선택된 값 드롭 다운 목록을 격자보기로 바인딩합니다. 값은 데이터베이스의 지정된 테이블에서 추출됩니다. 드롭 다운 목록 값을 선택할 때마다 그리드보기에 해당 데이터가 있어야합니다. 그러나 오류가 발생하지 않고 드롭 다운 목록의 선택된 값에 대한 그리드보기 데이터를 보여주는 잘못된 출력을 제공하는 것은 작동하지 않습니다. 다음은 HTML 코드입니다 : -GridView가 드롭 다운 목록이있는 Ajax 업데이트 패널에서 작동하지 않습니다.

  <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default5.aspx.cs"  Inherits="Default5" %> 

     <!DOCTYPE html> 

      <html xmlns="http://www.w3.org/1999/xhtml"> 
      <head runat="server"> 
      <title></title> 
      </head> 
      <body> 
<form id="form1" runat="server"> 
<div> 

    <br /> 
    <asp:ScriptManager ID="ScriptManager1" runat="server"> 
    </asp:ScriptManager> 
    <br /> 
    <br /> 
    <br /> 
    <br /> 
    <br /> 
    <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional"> 
     <ContentTemplate> 
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      <asp:GridView ID="GridView1" runat="server"> 
      </asp:GridView> 
      &nbsp;&nbsp; 
      <br /> 
      Select Deptt: 
      <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged1"> 
      </asp:DropDownList> 
     </ContentTemplate> 
     <Triggers> 
      <asp:AsyncPostBackTrigger ControlID="DropDownList1" EventName="SelectedIndexChanged" /> 
     </Triggers> 
    </asp:UpdatePanel> 

</div> 
</form> 

돌아 가기 종료 코드 : -

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.Configuration; 

public partial class Default5 : System.Web.UI.Page 
{ 
protected void Page_Load(object sender, EventArgs e) 
{ 
    Add_Dep(); 

} 
private void Add_Dep() 
{ 
    SqlDataAdapter adp = new SqlDataAdapter("select * from tbdep", ConfigurationManager.ConnectionStrings["cn"].ConnectionString); 
    DataSet ds = new DataSet(); 
    adp.Fill(ds); 
    DropDownList1.DataTextField = "dname"; 
    DropDownList1.DataValueField = "dno"; 
    DropDownList1.DataSource = ds; 
    DropDownList1.DataBind(); 

} 

protected void DropDownList1_SelectedIndexChanged1(object sender, EventArgs e) 
{ 
    String qry = "select * from tbemployee where edno=" + DropDownList1.SelectedValue; 
    SqlDataAdapter adp = new SqlDataAdapter(qry, ConfigurationManager.ConnectionStrings["cn"].ConnectionString); 
    DataSet ds = new DataSet(); 
    adp.Fill(ds); 
    GridView1.DataSource = ds; 
    GridView1.DataBind(); 
} 

}

+0

백엔드 코드를 게시하십시오. – Raghubar

답변

3

페이지로드에 문제가 있습니다. Pageload에서 ispostback 검사를 추가하십시오.

protected void Page_Load(object sender, EventArgs e) 
{ 
    if(!Page.IsPostBack) 
    { 
     Add_Dep(); 
    } 
} 
+0

업데이트 패널 외부에서 드롭 다운 목록을 사용하는 경우 동일한 방식으로 작동합니까? – Sahil

+0

네, 효과가 있습니다. 하지만 항상이 검사를 추가해야합니다. – Raghubar

+0

DDL이 외부에서 사용될 때 작동하지 않습니다. 단순히 데이터를 표시하지 않습니다. – Sahil

관련 문제