2014-04-10 6 views
0

У меня есть базовый компонент <asp:ImageButton> с идентификатором «uploader» и <p> с идентификатором «fileInfo». upload_Click вызывается при нажатии кнопки. У меня есть компонент <p> для тестирования. Каждый раз, когда нажимается кнопка, отображаемый текст должен добавить «x». Поэтому в первый раз, когда я нажимаю, это должно быть «x», второе «xx» и так далее.ImageButton срабатывает только один раз при нажатии

Проблема, с которой я сталкиваюсь, заключается в том, что в первый раз, когда я нажимаю кнопку, я получаю «x». После этого текст остается в «x». Я краснул в Интернете, что это может быть ошибка JavaScript, поэтому я установил firebug, но ошибки JavaScript не появляются. Я не на 100% уверен, что правильно использую firebug.

Может ли кто-нибудь сказать мне, что я делаю что-то неправильно?

У меня есть следующий код:

public partial class BalControls_Uploader : System.Web.UI.UserControl 
{ 
    string attachURL = "~/Icons/attach.png"; 

    public string fileName = ""; 

    protected void Page_Load(object sender, EventArgs e) 
    { 
     upload.ImageUrl = attachURL; 
    } 

    protected void upload_Click(object sender, ImageClickEventArgs e) 
    { 
     fileName += "x"; 
     fileInfo.InnerHtml = fileName; 
    } 
} 

ответ

0

значение присваивается переменной «имя файла» теряется на постбэка.

-Установите свойство FileName и сохраните значение в ViewState.

public String FileName { 
      get { 
        if(ViewState["FileName"]==null) 
         ViewState["FileName"] = String.Empty; 
        return (String) ViewState["FileName"]; 
       } 
       set { 
        ViewState["FileName"] = value; 
       } 
      } 
    } 
//Set 
this.FileName +="x"; 
+0

спасибо. что очень помогло – balauru

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