【问题标题】:dynamic creation of anchor tags and onServerClick events in asp.net C#在asp.net C#中动态创建锚标签和onServerClick事件
【发布时间】:2015-09-19 19:21:21
【问题描述】:

我通过从数据库中检索员工 user_ids 创建了一个动态列表,所有这些都是链接或使用锚标记创建的。我已经为它们分配了 ids 以及 onServerClick 事件。但是在单击任何链接时,相应的 onServerClick 函数未执行。 所以帮忙。

protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {int id = 0;
            StringBuilder htmltable = new StringBuilder();
            OracleConnection con = new OracleConnection(oradb);
            OracleCommand cmd = new OracleCommand();
            cmd.CommandText = "select USER_ID from Employee";
            cmd.Connection = con;
            con.Open();
            OracleDataReader dr = cmd.ExecuteReader();
            try
            {
                if (dr.HasRows)
                {
                    htmltable.Append("<table style='width:100%'>");
                    htmltable.Append("<tr><td style='text-align:center'><h3>USER ID</h3></td></tr>");
                    while (dr.Read())
                    {

                        htmltable.Append("<tr>");

                        htmltable.Append("<td style='text-align:center'>" + "<a href='' id = '" + (id++) + "' style='text-decoration:none;' runat='server' onServerClick='determine_id_Click'>" + dr["USER_ID"].ToString() + "</a>" + "</td>");


                        // htmltable.Append("<td>" + dr["TEAM"].ToString() + "</td>");

                        htmltable.Append("</tr>");
                    }
                    htmltable.Append("</table>");
                    PlaceHolder1.Controls.Add(new Literal { Text = htmltable.ToString() });
                }
                else
                {

                }
            }
            catch (Exception ex)
            {
                Response.Write(ex.ToString());
            }
            finally
            {
                con.Close();
            }

        }
    }

protected void determine_id_Click(object sender, EventArgs e)
    {

            //string id = (sender as Control).ClientID;
            //Response.Write("<script>alert(id)</script>");
        Response.Write("Hi");
    }

【问题讨论】:

    标签: c# asp.net dynamic hyperlink creation


    【解决方案1】:

    当内容像您正在做的那样呈现时,它会呈现在客户端上。像这样的超链接在服务器上处理,onserverclick 被转换为对__doPostBackWebForm_PostBackWithOptions 的客户端事件调用,这会导致服务器端回发。您可以通过添加onclick 并调用来自己生成它。 Page.ClientScript.GetPostBackEventReference.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多