Скажем, у меня есть очень простое приложение .NET только с помощью выпадающего списка, который связан с таблицей базы данных, какГде разместить методы DataBinding управления
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
LoadDdlDropColor();
}
private void LoadDdlDropColor()
{
string cs = ConfigurationManager.ConnectionStrings["dbcs"].ConnectionString;
using (SqlConnection con = new SqlConnection(cs))
{
using (SqlCommand cmd = new SqlCommand("select color from Colors", con))
{
con.Open();
DropDownList1.DataSource = cmd.ExecuteReader();
DropDownList1.DataTextField = "Color";
DropDownList1.DataValueField = "color";
DropDownList1.DataBind();
DropDownList1.Items.Insert(0, new ListItem("select color", "-1"));
}
}
}
}
С точки зрения расширяемости и лучшей практике, это ОК чтобы доступ к данным выполнялся за пределами класса DataAccess
? Или было бы более профессиональным передавать несколько параметров, т. Е. Элемент управления, SqlCommand и, если необходимо, SqlParameters в качестве параметров для запроса, вызванного в событии загрузки страницы?
«Все в порядке?» является субъективным вопросом. В контексте «очень простого» приложения .NET, то уверен, почему бы и нет. Разумеется, в объем большого приложения нет. –
Вы можете сделать 'DropDownList1.Items.Insert' после того, как вы выполнили привязку данных? Я не уверен в asp.net, но в WinForms я не думаю, что это возможно. – dotNET
@dotNET Вы действительно можете. – wootscootinboogie