ImageButton仅在单击时触发一次

时间:2014-04-10 20:07:38

标签: asp.net webforms custom-controls

我基本上有一个名为“uploader”的<asp:ImageButton>组件和一个ID为“fileInfo”的<p>组件。单击按钮时会调用upload_Click。我有<p>组件用于测试。每次单击该按钮时,显示的文本都应附加“x”。所以我第一次点击它应该是“x”,第二次是“xx”,依此类推。

我遇到的问题是,当我第一次点击按钮时,我得到“x”。之后,文本保持为“x”。我在互联网上说它可能是一个javascript错误所以我安装了firebug,但没有弹出javascript错误。我不是百分百肯定我正在使用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;
    }
}

1 个答案:

答案 0 :(得分:0)

分配给变量&#34; filename&#34;的值在回发中丢失了。

- 定义属性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";