这是 model_id.ascx.cs 其中SQLNameSpaceC封装了连接数据库的类 namespace WebApplication1 { using SQLNameSpaceC;//封装了连接数据库的类 using System; using System.Data; using System.Drawing; using System.Web; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; /// <summary> /// model_id1 的摘要说明。 /// </summary> public class model_id1 : System.Web.UI.UserControl { public System.Web.UI.WebControls.DropDownList model_id; public System.Web.UI.WebControls.TextBox asc_cd; public System.Web.UI.WebControls.ImageButton btnCounter; public System.Web.UI.WebControls.TextBox start_dt; public System.Web.UI.WebControls.TextBox end_dt; public System.Web.UI.WebControls.TextBox bill_start_dt; public System.Web.UI.WebControls.TextBox bill_end_dt;
public delegate void ClickEventHandler(object sender, System.Web.UI.ImageClickEventArgs e); public SQLClassC mod=new SQLClassC(); public event ClickEventHandler Click; protected void OnClick(System.Web.UI.ImageClickEventArgs e) { if (Click!=null) Click(this, e); }
} } } test.aspx调了 上面的用户控件。并写了DropDownList model_id可以显示绑定的数据。 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 SQLNameSpaceC;namespace asit { /// <summary> /// test 的摘要说明。 /// </summary> public class test : System.Web.UI.Page { protected System.Web.UI.WebControls.DropDownList model_id;
如果把DropDownList写到aspx里就可以显示
namespace WebApplication1
{
using SQLNameSpaceC;//封装了连接数据库的类
using System;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls; /// <summary>
/// model_id1 的摘要说明。
/// </summary>
public class model_id1 : System.Web.UI.UserControl
{
public System.Web.UI.WebControls.DropDownList model_id;
public System.Web.UI.WebControls.TextBox asc_cd;
public System.Web.UI.WebControls.ImageButton btnCounter;
public System.Web.UI.WebControls.TextBox start_dt;
public System.Web.UI.WebControls.TextBox end_dt;
public System.Web.UI.WebControls.TextBox bill_start_dt;
public System.Web.UI.WebControls.TextBox bill_end_dt;
public delegate void ClickEventHandler(object sender, System.Web.UI.ImageClickEventArgs e); public SQLClassC mod=new SQLClassC();
public event ClickEventHandler Click;
protected void OnClick(System.Web.UI.ImageClickEventArgs e)
{
if (Click!=null) Click(this, e);
}
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if (!Page.IsPostBack)
{
mod.SQL="select model_id from model_mst";
this.model_id.DataSource=mod.Populate();
model_id.DataTextField="model_id";
model_id.DataValueField="model_id";
model_id.DataBind();
model_id.Items.Insert(0,new ListItem("",""));
if ((string)Session["SS_ASC_CD"]!=(string)Session["SS_CENTER"])
{
//return "<input name='ASC_CD' type='text' class='CReadOnly' size='10' value='"+Session["SS_ASC_CD"]+"' readonly>";
asc_cd.CssClass="CReadOnly";
asc_cd.Text=(string)Session["SS_ASC_CD"];
}
else
{
//return "<input name='ASC_CD' type='text' class='CInput' size='10' value='' >";
asc_cd.CssClass="CInput";
asc_cd.Text="";
}
/*foreach (ListItem li in model_id.Items)
{
if (li.Value.ToString() == "")
{
li.Selected = true;
}
}*/
}
} #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器
/// 修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.btnCounter.Click += new System.Web.UI.ImageClickEventHandler(this.btnCounter_Click);
this.model_id.SelectedIndexChanged += new System.EventHandler(this.model_id_SelectedIndexChanged); }
#endregion private void btnCounter_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
this.OnClick(e);
} private void model_id_SelectedIndexChanged(object sender, System.EventArgs e)
{
}
}
}
test.aspx调了 上面的用户控件。并写了DropDownList model_id可以显示绑定的数据。
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 SQLNameSpaceC;namespace asit
{
/// <summary>
/// test 的摘要说明。
/// </summary>
public class test : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DropDownList model_id;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
SQLClassC conn=new SQLClassC();
conn.SQL="select model_id from model_mst ";
model_id.DataSource=conn.Populate();
model_id.DataTextField="model_id";
model_id.DataValueField="model_id";
model_id.DataBind();
} #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.model_id.SelectedIndexChanged += new System.EventHandler(this.model_id_SelectedIndexChanged);
this.Load += new System.EventHandler(this.Page_Load); }
#endregion private void model_id_SelectedIndexChanged(object sender, System.EventArgs e)
{
}
}
}
这两个文件都是用同一个SQLNameSpaceC来连数据库。用户空间就不行显示不了数据 sql server跟踪里也没用户控件连接数据库的记录。
if(!IsPostBack)
{
DataTable dTable;
DataRow dRow;
dTable = new DataTable();
dTable.Columns.Add("id");
dTable.Columns.Add("name");
for(int i=0;i<5;i++)
{
dRow =dTable.NewRow();
dRow["id"]=i;
dRow["name"]="a"+i.ToString();
dTable.Rows.Add(dRow);
}
DropDownList1.DataSource=dTable;
DropDownList1.DataTextField="name";
DropDownList1.DataValueField="id";
DropDownList1.DataBind();
DropDownList1.Items.Insert(0,new ListItem("",""));
}