Я все еще очень новичок в ASP.Net C#, у меня есть этот фрагмент кода, который отлично работает. У меня есть несколько строк подключения в файле web.config, и я переключаюсь между ними на основе текста моего выпадающего списка. Я надеялся на какой-нибудь совет любого метода очистки/уборки, чтобы архивировать это, а не то, что у меня ниже (если есть). Благодаря!ASP.NET C# Изменение строк подключения на основе выпадающего списка
protected void search_ClickALL(object sender, EventArgs e)
{
if (ddlALL.SelectedItem.Text == "ENWL")
{
using (
SqlConnection conn =
new SqlConnection(ConfigurationManager.ConnectionStrings["ConHprENWL"].ConnectionString))
{
conn.Open();
SqlCommand cmd = new SqlCommand("SELECT dpCreatedDT, enStatusCH, enNotificationNoNI FROM dp_enquiry WHERE ennotificationnoni = @JobnoALL", conn);
try
{
SqlParameter search = new SqlParameter();
search.ParameterName = "@JobnoALL";
search.Value = JobnoALL.Text.Trim();
cmd.Parameters.Add(search);
SqlDataReader dr = cmd.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(dr);
gridviewALL.DataSource = dt;
gridviewALL.DataBind();
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
finally
{
if (cmd.ExecuteScalar() == null)
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "scriptkey", "<script>alert('Job Number not found!');</script>");
}
conn.Close();
mpePopUpALL.Show();
}
}
}
else if (ddlALL.SelectedItem.Text == "NW")
{
using (
SqlConnection conn =
new SqlConnection(ConfigurationManager.ConnectionStrings["ConHprNorthumbrian"].ConnectionString))
{
conn.Open();
SqlCommand cmd = new SqlCommand("SELECT dpCreatedDT, enStatusCH, enNotificationNoNI FROM dp_enquiry WHERE ennotificationnoni = @JobnoALL", conn);
try
{
SqlParameter search = new SqlParameter();
search.ParameterName = "@JobnoALL";
search.Value = JobnoALL.Text.Trim();
cmd.Parameters.Add(search);
SqlDataReader dr = cmd.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(dr);
gridviewALL.DataSource = dt;
gridviewALL.DataBind();
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
finally
{
if (cmd.ExecuteScalar() == null)
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "scriptkey", "<script>alert('Job Number not found!');</script>");
}
conn.Close();
mpePopUpALL.Show();
}
}
}
}
Спасибо! Это именно то, что я искал – Cory
@LiranBo: 'ddlALL.SelectedItem.Text' может не совпадать с ключом' ConnectionStrings'. Они могут быть разными, внимательно смотрятся в OP post, текст - ** ENWL **, но строка строки соединения ** ConHprENWL ** отличается. – Prabhat
Чтобы использовать 'ddlALL.SelectedItem.Text', вы должны иметь точно такое же имя как в раскрывающемся тексте, так и в строке строки подключения в web.config. – Prabhat