using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Data.SqlClient; using DataBaseClass; namespace NetTest { /// <summary> /// DropDownListRefur 的摘要说明。 /// </summary> public class DropDownListRefur : System.Web.UI.Page { protected System.Web.UI.WebControls.DropDownList ddlType; protected System.Web.UI.WebControls.DropDownList ddlInfo; protected System.Web.UI.WebControls.Button btnSubmit; private ClassDataGrid CDG=new ClassDataGrid(); private void Page_Load(object sender, System.EventArgs e) { if(!IsPostBack) { RefurData(); } }
#region Web 窗体设计器生成的代码 override protected void OnInit(EventArgs e) { // // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); } /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { this.btnSubmit.Click += new System.EventHandler(this.btnSubmit_Click); this.Load += new System.EventHandler(this.Page_Load);
} #endregion
public void RefurData() { string TypeID =Request.QueryString["TypeID"];//第一次请求结果为null if(TypeID + "Flag" != "Flag")//如果加Flag不等于Flag,表示ddlType改变过,触发过onchange事件 { DDlInfoBind(TypeID); }
if(!this.IsPostBack) { DDlTypeBind(); } }
//返回ddlInfo下拉框需要的值给xmlhttp private void DDlInfoBind(string TID) { string Mystr = ""; int TypeID=int.Parse(TID); SqlDataReader dr=CDG.GetTypeInfo(TypeID);//此处用了数据访问层的代码,如要运行,必须自己写方法 DataTable MyTab =Tools.ConvertDataReaderToDataTable(dr);
if(MyTab.Rows.Count != 0)//判断是否有记录 { for(int i=0;i<MyTab.Rows.Count;i++)//循环DataTable里的记录 { Mystr += "," + MyTab.Rows[i][1].ToString() + "|" + MyTab.Rows[i][0].ToString(); //DataTable每一行都有编号和记录,使用,和|分隔,在XMLPOST中用到 } Mystr = Mystr.Substring(1); } Response.Write(Mystr);//向HTTP输出内容流写入一个字符数组 Response.End();//停止该页的执行 }
/// <summary> /// 绑定第一个下拉框 /// </summary> private void DDlTypeBind() { ddlType.DataSource=CDG.GetMType();//此处用了数据访问层的代码,如要运行,必须自己写方法 ddlType.DataTextField="TypeName"; ddlType.DataValueField="ID"; ddlType.DataBind(); ddlType.Items.Insert(0,"请选择"); ddlType.Items[0].Selected=true; ddlType.Attributes.Add("onchange","XmlPost(this);"); }
private void btnSubmit_Click(object sender, System.EventArgs e) { try { int ID=int.Parse(Request.Form["ddlInfo"].ToString());//只是在服务器端得到ddlInfo选中的对应的编号 Response.Write("<script>alert('"+ID+"')</script>"); DDlTypeBind(); } catch {} }
} }
|