드롭 다운 목록과 Ajax 업데이트 패널이있는 웹 양식에서 스크립트 관리자도 사용했습니다. 업데이트 패널 내에 그리드보기가 있습니다. 데이터 소스를 사용하여 선택한 드롭 다운 목록 값을 그리드보기와 바인딩했습니다. 값은 데이터베이스의 지정된 테이블에서 추출됩니다. 드롭 다운 목록 값을 선택할 때마다 그리드보기에 해당 데이터가 있어야하지만 작동하지 않고 오류가 발생하지 않고 선택한 하나의 드롭 다운 목록에 대해서만 그리드보기 데이터를 표시하는 잘못된 출력을 제공합니다. 다음은 HTML 코드입니다.
<%@ 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>
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
<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();
}
}
페이지로드에 문제가 있습니다. Pageload에 ispostback 검사를 추가합니다.
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
Add_Dep();
}
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다