在 asp 中访问标签的文本字段

本文关键字:文本 字段 标签 访问 asp | 更新日期: 2023-09-27 18:32:39

我的网页中有一个asp中继器。我正在制作论坛站点的基础结构,我的问题是,中继器使用ItemDataBound方法从数据库中获取问题的答案。如果附加了文件,则下载按钮和文件名标签可见。我在 ItemDataBound 方法中执行检查。但是当我单击下载按钮时,我想在标签上获取文件名,该文件名属于与该向下按钮相同的中继器。this.label.text 没有帮助

感谢您的回答。

这是我进行检查的 ItemDataBound 方法的一部分。我想在完全相同的中继器上查看 CevapEk 标签的内容,以便生成下载链接。

string s = DataBinder.Eval(e.Item.DataItem, "dosya").ToString();
if (s != "")
{
    CevapEk = (Label)e.Item.FindControl("CevapEk");
    if (CevapEk != null)
    {
        CevapEk.Text = DataBinder.Eval(e.Item.DataItem, "dosya").ToString();
        CevapEk.Visible = true;
    }
    Button CevapEkIndir = (Button)e.Item.FindControl("CevapEkIndir");
    if (CevapEk != null)
    {
        CevapEkIndir.Text = "Indir";
        CevapEkIndir.Visible = true;
    }
    HiddenField hdn = (HiddenField)e.Item.FindControl("hdnCevapEk");
}

这是下载事件方法。我需要开头的文件名(字符串 dosya)

protected void CevapEkIndir_Click(object sender, EventArgs e)
{
    if (this.CevapEk != null)
    {
        string dosya = this.CevapEk.Text;
        string dosya_path = @"'uploadCevap'";
        dosya_path = dosya_path + dosya;
        Response.Clear();
        Response.AppendHeader("Content-Disposition", "attachment; filename=" + dosya);
        Response.TransmitFile(Server.MapPath(dosya_path));
        Response.End();
    }
}

在 asp 中访问标签的文本字段

试试这个:

protected void CevapEkIndir_Click(object sender, EventArgs e)
{
    Button CevapEkIndir = ((Button)sender);
    Control container = CevapEkIndir.NamingContainer;
    Label CevapEk = (Label)container.FindControl("CevapEk");
    if (CevapEk != null)
    {
        string dosya = CevapEk.Text;
        string dosya_path = @"'uploadCevap'";
        dosya_path = dosya_path + dosya;
        Response.Clear();
        Response.AppendHeader("Content-Disposition", "attachment; filename=" + dosya);
        Response.TransmitFile(Server.MapPath(dosya_path));
        Response.End();
    }
}