如何连接下拉列表的值
本文关键字:下拉列表 连接 何连接 | 更新日期: 2023-09-27 18:20:43
我有三个下拉列表。从这三个文件夹中,我必须选择不同的路径来检索一个文件夹。问题是路径无法检索文件夹,并给出错误。找不到路径的一部分。我的代码是.
protected void Btn_Load_Click1(object sender, EventArgs e)
{
string _username = ConfigurationManager.AppSettings["ImpersonatedUserName"].ToString();
string _password = ConfigurationManager.AppSettings["ImpersonatedPassword"].ToString();
string _domain = ConfigurationManager.AppSettings["ImpersonatedDomain"].ToString();
Impersonation objImpersonation = new Impersonation();
if (objImpersonation.impersonateValidUser(_username, _domain, _password))
{
string PathFecha = ConfigurationManager.AppSettings.ToString() + "''Convert.ToString(Drp_List1.SelectedItem)''Convert.ToString(Drp_List2.SelectedItem)''Convert.ToString(Drp_List3.SelectedItem)''";
string[] files = System.IO.Directory.GetFiles(PathFecha);
foreach (string filename in files)
{
ListBox1.Items.Add(new ListItem(System.IO.Path.GetFileName(filename), filename));
}
}
}
您没有正确转换路径。
更改此行:
string PathFecha = ConfigurationManager.AppSettings.ToString() + "''Convert.ToString(Drp_List1.SelectedItem)''Convert.ToString(Drp_List2.SelectedItem)''Convert.ToString(Drp_List3.SelectedItem)''";
TO:
string PathFecha = string.Format("{0}{4}{1}{4}{2}{4}{3}{4}", ConfigurationManager.AppSettings.ToString(), Drp_List1.SelectedText, Drp_List2.SelectedText, Drp_List3.SelectedText, "''");
如果需要所选下拉菜单项的Text
,请使用Drp_List1.SelectedItem.Text
。
如果您需要所选下拉菜单的Value
,请使用Drp_List1.SelectedItem.Value
。
对所有下拉项都执行此操作。
string PathFecha =
System.IO.Path.Combine(
ConfigurationManager.AppSettings.ToString(),
Drp_List1.SelectedItem.Text,
Drp_List2.SelectedItem.Text,
Drp_List3.SelectedItem.Text);
使用Path.Combine()可以使处理路径变得更容易一些。
在我看来,这一行:
string PathFecha = ConfigurationManager.AppSettings.ToString() + "''Convert.ToString(Drp_List1.SelectedItem)''Convert.ToString(Drp_List2.SelectedItem)''Convert.ToString(Drp_List3.SelectedItem)''";
您只是将一个字符串连接到基本路径,这不是您想要的。将C#代码放入字符串中不会替换字符串中该代码的结果。你想做的是将路径的每一部分单独连接起来:
string PathFecha = Convert.ToString(Drp_List1.SelectedItem) + "''"
+ Convert.ToString(Drp_List2.SelectedItem) + "''"
+ Convert.ToString(Drp_List3.SelectedItem) + "''";
而且,正如Gloria所说,如果你想使用所选项目的文本,你应该使用Drp_List1.SelectedItem.Text
。所以它实际上应该是:
string PathFecha = Drp_List1.SelectedItem.Text + "''"
+ Drp_List2.SelectedItem.Text + "''"
+ Drp_List3.SelectedItem.Text + "''";