【问题标题】:Event handler command is not working?事件处理程序命令不起作用?
【发布时间】:2015-03-29 06:17:59
【问题描述】:

这对我来说太奇怪了...在程序中,我在搜索查询中生成了一个链接按钮,单击此链接按钮将重定向到另一个页面...这是它没有任何想法吗?

protected void Button1_Click(object sender, EventArgs e)
{
     //TextBox1.Text = (string)Session["keys"];
    string s = TextBox1.Text;
    string[] words = s.Split(' ');
    for (int i = 0; i < words.Length; i++)
    {
        con.Open();
        SqlDataAdapter sda = new SqlDataAdapter("select fname from uploads where fname like '" + '%' + words[i] + '%' + "'", con);
        DataSet ds = new DataSet();
        sda.Fill(ds);
        if (ds.Tables[0].Rows.Count > 0)
        {
            for (int j = 0; j < ds.Tables[0].Rows.Count; j++)
            {
                string z = ds.Tables[0].Rows[j]["fname"].ToString();

                // creation of linkbutton
                LinkButton linkbtn = new LinkButton();
                linkbtn.Text = z + "<br><br>";
                linkbtn.Visible = true;
                linkbtn.CommandName = z;
                linkbtn.Command += new CommandEventHandler(this.Link1_Click);
                linkbtn.ID = h.ToString();
                this.Panel3.Controls.Add(linkbtn);
                h++;
            }
        }
        con.Close();
    }
}
protected void Link1_Click(object sender, CommandEventArgs e)
{
    startdownload(e.CommandName);

}
protected void startdownload(string s)
{
    Response.Redirect("Downloading.aspx");
}

【问题讨论】:

  • 这是 Web 表单代码而不是 MVC。请重新标记。
  • 有什么可以帮助我的想法吗?
  • 这里存在严重的sql注入漏洞,参数化你的输入
  • 这是此处描述的确切问题:stackoverflow.com/a/201301/701062。您需要在PageLoad 期间或之前重新添加控件,以便触发回发事件。
  • 您的具体问题是什么?你调试过这段代码吗?你到达 startdownload-method 了吗?只是重定向本身不起作用吗?

标签: c# asp.net webforms


【解决方案1】:

您需要在PageLoad 期间或之前重新添加控件,以便触发回发事件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-22
    • 2011-06-28
    • 2012-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多