C# 我如何才能访问;“文本”;ListView LayoutTemplate控件的属性

C# 我如何才能访问;“文本”;ListView LayoutTemplate控件的属性,c#,asp.net,listview,text,controls,C#,Asp.net,Listview,Text,Controls,我有一个ASP.NET应用程序,使用的是列表视图。此列表视图具有一个布局模板、项目模板和一个交替项目模板。在我的布局模板中我有链接标签。我想创建一个多语言页面,我必须访问此链接标签的文本属性。但我不能进入这片土地 我的ASPX(列表视图) 我的按钮: protected void Button1_Command(object sender, CommandEventArgs e) { if (e.CommandName == "Select")

我有一个ASP.NET应用程序,使用的是
列表视图
。此
列表视图
具有一个
布局模板
项目模板
和一个
交替项目模板
。在我的
布局模板中
我有
链接标签
。我想创建一个多语言页面,我必须访问此
链接标签的
文本
属性。但我不能进入这片土地

我的ASPX(列表视图)

我的按钮:

protected void Button1_Command(object sender, CommandEventArgs e)
        {
            if (e.CommandName == "Select")
            {
                //Der Index der Zeile wird ermitellt
                int index = Convert.ToInt32(e.CommandArgument);

                string xmlfile = Session["language_file"].ToString(); 
               //it doen't works :( 
                ((LinkButton)myListView.FindControl("lnkBenutzer")).Text = GetXMLElement(xmlfile, "id_User");

                //Der Inhalt (GUID[Unsichtbar]) wird aus der zeile mit dem Index herausgezogen und übergeben       

                Label lb = (Label)myListView.Items[index].FindControl("Label6");

                //Der GUID, Benutzer-Nachname und das Werk werden an eine Session übergeben
                Session["UserID"] = lb.Text;
                Session["SearchUser"] = txtBenutzer.Text;
                Session["DropDownValue"] = dropWerk.SelectedValue;

                //Es wird eine neue Webform geöffnet
                Response.Redirect("Benutzer.aspx");

            }

        }

我想在codeBehind中会是这样的:

LinkButton lb = myListView.FindControl("lnkBenutzer") as LinkButton;
lb.Text = GetXMLElement(xmlfile, "user");

虽然还没有测试过,但我认为在codeBehind中会是这样的:

LinkButton lb = myListView.FindControl("lnkBenutzer") as LinkButton;
lb.Text = GetXMLElement(xmlfile, "user");

虽然还没有测试过,但我相信您需要执行以下操作:

在您的Benutzer.aspx中:

public void Page_Load() {
    string xmlfile = Session["language_file"].ToString(); 
    LinkButton lnkBenutzer = (LinkButton)myListView.FindControl("lnkBenutzer");
    lnkBenutzer.Text = GetXMLElement(xmlfile, "User"); 
}
简而言之,您需要做的是“查找”列表视图控件,然后在列表视图中查找该控件。这可以缩短为:

((LinkButton)myListView.FindControl("lnkBenutzer")).Text = GetXMLElement(xmlfile, "User");
进一步说,您可以将其提取到一个方法中,在该方法中,您可以传入项目名称和新文本:

public void SetText(string controlName, string text)
{
    ((LinkButton)myListView.FindControl(controlName)).Text = text;
}
然后你可以打电话:

SetText("lnkBenutzer", GetXMLElement(xmlfile, "User"));

根据需要替换您的姓名和阀门。

我认为您需要执行以下操作:

在您的Benutzer.aspx中:

public void Page_Load() {
    string xmlfile = Session["language_file"].ToString(); 
    LinkButton lnkBenutzer = (LinkButton)myListView.FindControl("lnkBenutzer");
    lnkBenutzer.Text = GetXMLElement(xmlfile, "User"); 
}
简而言之,您需要做的是“查找”列表视图控件,然后在列表视图中查找该控件。这可以缩短为:

((LinkButton)myListView.FindControl("lnkBenutzer")).Text = GetXMLElement(xmlfile, "User");
进一步说,您可以将其提取到一个方法中,在该方法中,您可以传入项目名称和新文本:

public void SetText(string controlName, string text)
{
    ((LinkButton)myListView.FindControl(controlName)).Text = text;
}
然后你可以打电话:

SetText("lnkBenutzer", GetXMLElement(xmlfile, "User"));

根据需要替换名称和值。

对象引用未设置为对象实例:(我在单击按钮后获得ListView:(你能发布更多代码吗?我可能能够找到它需要去的地方吗?使ListView可见的按钮做了什么-在ListView打开的情况下重定向到另一个页面?列表视图在哪里“我的C#代码:"代码块来自母版页还是与ListView控件不同的页面?啊,好的,我看到问题了-底部的重定向行-您需要在您重定向到Benutzer.aspx的页面上运行设置的文本代码-可能是在该页面的页面加载事件中。此外,您还需要在上面的行上进行复制-不要删除从当前位置将其删除将两行复制到您的Benutzer.aspx Page_Load方法中。我已编辑了我的原始建议。对象引用未设置为对象实例:(我在单击按钮后获得ListView:(你能发布更多的代码吗?我可能能找到它需要去哪里?你的按钮使ListView可见做什么-重定向到另一个打开ListView的页面?哪里是“我的C代码”:代码块来自母版页还是与ListView控件不同的页面?啊,好的,我看到问题了-底部的重定向行-您需要在您重定向到Benutzer.aspx的页面上运行设置的文本代码-可能是在该页面的页面加载事件中。此外,您还需要在上面的行上进行复制-不要删除将其从当前位置删除将这两行复制到您的Benutzer.aspx Page_Load方法中。我已编辑了我的原始建议。请问您为什么使用listview显示一些带前缀的按钮?此Web界面显示用户列表,通过此按钮,我可以显示有关用户的更多信息。我可以问您为什么使用lis吗tview是否显示一些带前缀的按钮?此Web界面显示用户列表,通过此按钮,我可以显示有关用户的更多信息。