C#添加了Ajax更新面板,但是一旦填充了占位符,Anchor就不会运行服务器端代码

时间:2011-08-16 07:54:46

标签: c# ajax

我刚刚被告知我需要更新我的链接,因此我添加了一个Ajax更新面板来处理请求,因此没有回发。我的链接是从代码隐藏生成的,并填充占位符。我需要更新代码,以便它能够运行服务器端代码。我已尝试以编程方式添加via controls.add,但我无法获得任何运行服务器端代码。

                while (myReader.Read())
                {
                    try
                    {
                        eventListCounter++;
                        string strEventTitle = myReader["eventTitle"].ToString();
                        string strEventThumb = myReader["eventThumb"].ToString();
                        string strEventInfo = myReader["eventInfo"].ToString();
                        int eventID = Int32.Parse(myReader["ID"].ToString());
                        strHTML += "<div class='styleWeekRedCarpetEventBox'><div class='styleWeekRedCarpetPictureBox'>";
                        strHTML +="<a href='RedCarpet.aspx?eventID=" + eventID.ToString() +"'  runat='server' id='linkEventShowImageSet'><img Width='125' Height='95'src='Images/" + strEventThumb.ToString() + "' border='0'></a></div><div id='styleWeekRedCarpetPictureBoxText'><p><a href='RedCarpet.aspx?eventID=" + eventID + "' runat='server' id='linkEventShowImageSet'><b>" + strEventTitle.ToString() + "</b><br />" + strEventInfo.ToString() + "</a></p></div></div><br><br>";

                        if (eventListCounter == 5)
                        {
                            strHTML += "</div><div class=\"eventListColumn\">";
                            eventListCounter = 0;
                        }
                    }
                    catch (Exception strError)
                    {
                        Response.Write(strError.ToString());
                    }


                }
                LiteralControl eventListPlaceholder = new LiteralControl(strHTML.ToString());
                PlaceHolder2.Controls.Add(eventListPlaceholder);

1 个答案:

答案 0 :(得分:0)

这看起来是使用repeater control的理想场所,你应该回避使用Response.Write并让框架从你那里抽象出来。

这很有可能解决事件未被服务器端解雇的问题。