C# 转到系统中存在的最后一个驱动器,而不是我选择的驱动器

C# 转到系统中存在的最后一个驱动器,而不是我选择的驱动器,c#,C#,在我的项目中,我想将单击的驱动器名称发送到下一页。但它将发送系统中存在的最后一个驱动器的名称,而不是发送我单击的驱动器的名称。提前感谢 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.IO; namespace listofdirectori

在我的项目中,我想将单击的驱动器名称发送到下一页。但它将发送系统中存在的最后一个驱动器的名称,而不是发送我单击的驱动器的名称。提前感谢

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;

namespace listofdirectories
{
    public partial class directories : System.Web.UI.Page
    {
        string str1;
        LinkButton lnk; 
        protected void Page_Load(object sender, EventArgs e)
        {

            string[] drives = System.IO.Directory.GetLogicalDrives();

            int i = 0;

            foreach (string str in drives)
            {
                lnk = new LinkButton();
                lnk.Text = str;
                lnk.ID = i.ToString();
                this.Panel1.Controls.Add(lnk);
                Panel1.Controls.Add(new LiteralControl("<br />"));
                lnk.Click += new System.EventHandler(lnk_Click);
                i++;
                str1 = lnk.Text;
            }        
        }

        protected void lnk_Click(object sender, EventArgs e)
        {
            Response.Redirect("files.aspx?drive="+str1);
        }
    }

}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用System.Web;
使用System.Web.UI;
使用System.Web.UI.WebControl;
使用System.IO;
目录的名称空间列表
{
公共部分类目录:System.Web.UI.Page
{
字符串str1;
链接按钮lnk;
受保护的无效页面加载(对象发送方、事件参数e)
{
string[]drives=System.IO.Directory.GetLogicalDrives();
int i=0;
foreach(驱动器中的字符串str)
{
lnk=新链接按钮();
lnk.Text=str;
lnk.ID=i.ToString();
此.Panel1.Controls.Add(lnk);
Panel1.Controls.Add(新的LiteralControl(“
”); lnk.Click+=newsystem.EventHandler(lnk\u Click); i++; str1=lnk.Text; } } 受保护的无效lnk_单击(对象发送方,事件参数e) { Response.Redirect(“files.aspx?drive=“+str1”); } } }
您需要去掉一个反复设置的变量。只需从事件中获取文本:

protected void lnk_Click(object sender, EventArgs e)
{
    var button = sender as LinkButton;
    Response.Redirect("files.aspx?drive=" + button.Text);
}