2016-02-01 4 views
-1

У меня есть репитер asp на моей веб-странице. Я создаю инфраструктуру сайта форума, на мой вопрос, ретранслятор получает ответы на вопрос из базы данных с помощью метода ItemDataBound. Если файл прикреплен, кнопка загрузки и метки имен файлов видны. Я делаю проверку в методе ItemDataBound. Но когда я нажимаю кнопку загрузки, я хочу получить имя файла на ярлыке, принадлежащем тому же ретранслятору, с помощью кнопки downlaod. this.label.text не помоглоДоступ к текстовому полю метки в asp

Спасибо за ваши ответы.

Это часть метода 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(); 
    } 
} 

ответ

1

Попробуйте это:

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(); 
    } 
} 
+0

Спасибо за ваш ответ, будет проверять, как только сервер вверх! – EvsizTospaa

+0

Это сработало, спасибо огромное! – EvsizTospaa

Смежные вопросы