asp.net下拉列表代码重复使用多个页面

时间:2012-10-03 16:29:00

标签: asp.net

我已经做了一些经典的ASP,但对ASP.NET来说真的很新,所以如果可以,请给我一些步骤。

我尝试做的是在不同页面上的多个表单中重复使用相同的下拉列表代码。

我有Form1.aspx页面,它有:

<asp:DropDownList ID="Vendor" runat="server" 
AutoPostBack="True" 
onselectedindexchanged="ddlVendor_SelectedIndexChanged">
</asp:DropDownList>

然后,文件Form1.aspx.cs页面后面的代码用于构建供应商下拉框的列表。

private void FillVendor()
{
    string strConn = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
    SqlConnection con = new SqlConnection(strConn);
    SqlCommand cmd = new SqlCommand();
    cmd.Connection = con;
    cmd.CommandType = CommandType.Text;
    cmd.CommandText = "SELECT VendorID, VendoName FROM Vendor";
    DataSet objDs = new DataSet();
    SqlDataAdapter dAdapter = new SqlDataAdapter();
    dAdapter.SelectCommand = cmd;
    con.Open();
    dAdapter.Fill(objDs);
    con.Close();
    if (objDs.Tables[0].Rows.Count > 0)
    {
        Vendor.DataSource = objDs.Tables[0];
        Vendor.DataTextField = "VendorName";
        Vendor.DataValueField = "VendorID";
        Vendor.DataBind();
        Vendor.Items.Insert(0, "--Select--");
    }
    else
    {
        lblMsg.Text = "No Vendor found";
    }


}

假设我有另一个form2.aspx页面和form2.aspx.cs页面。此页面将使用与form1.aspx页面相同的下拉列表。我不想再在form2.aspx和form2.aspx.cs中重写相同的代码。是否有更好的方法可以在多个页面后面重复使用这些代码?

提前致谢,

1 个答案:

答案 0 :(得分:0)

  1. 您可以为自定义下拉列表创建用户控件
  2. 您可以编写接受DropdownList的方法,将其标记为参数,然后设置属性。