Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка под ASP.NET > Неработают


Автор: FelikZ 3.7.2007, 11:40
Читал созданые ранее темы, но ответа на токое там нету.

Код:
Код

public partial class Forums_Index : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

//......

        TableRow tr;
        TableCell td;
        for(int i=0;i<10;i++){
                tr = new TableRow();
                tr.ID = "t_" + sdr.GetInt32(0);

                td = new TableCell();
                td.CssClass = "ForumContent";
                td.Style["text-align"] = "left";

                LinkButton lb = new LinkButton(); //Создаю линк
                lb.PostBackUrl = "./Topic.aspx";
                lb.Click += new EventHandler(lb_Click); //Здесь добавляю обрабочик клика на него
                lb.Text = sdr.GetString(2);

                Label lbl = new Label();
                lbl.Text = "<br />" + sdr.GetString(3);

                td.Controls.Add(lb); //Здесь линк добавляю в тег <td>
                td.Controls.Add(lbl);  
                tr.Cells.Add(td); //Сам <td> добавляю в <tr>
                
                td = new TableCell();
                td.Text = sdr.GetInt32(4).ToString();
                td.CssClass = "ForumContent";
                tr.Cells.Add(td);

                td = new TableCell();
                td.Text = (string)Application[sdr.GetInt32(1).ToString()];
                td.CssClass = "ForumContent";
                tr.Cells.Add(td);

                ForumTable.Rows.Add(tr); //Добавляю в <table> мой <tr>
           }

//....

    }

    void lb_Click(object sender, EventArgs e)    //Сам обработчик клика
    {
        LinkButton bn = (LinkButton)sender;
        Session["show_topic"] = bn.ID.Substring(2, -1);
    }
}


Так вот проблема в том что в функцию "lb_Click" незаходит ни прикаких обстаятельствах...

Автор: tol05 3.7.2007, 12:17
а как поток выполнения может зайти? чисто теоретически даже? smile Ты браузеру клиента послал респонс и ждешь новых запросов на старую страницу, а он другую будет запрашивать...
Ты же используешь межстраничный постинг! Сам же указал 
Код

lb.PostBackUrl = "./Topic.aspx";

ASP.Net и сформировала скрипт такого типа:
Код

<td class="ForumContent" style="text-align:left;">


<a href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;ctl06&quot;, &quot;&quot;, false, &quot;&quot;, &quot;./Topic.aspx&quot;, false, true))">



2080427802</a><span><br />2080427802</span></td><td class="ForumContent">2080427802</td><td class="ForumContent"></td>
    </tr><tr id="t_2080427802">


т.е. ты браузеру сказал "если будет клик - делай постбек на новую страницу (Topic.aspx)". Сам делай, скриптом, я редирект делать не хочу... Что ж те ее на старой ждешь?!  smile 

Используй тогда на новой страинце (Topic.aspx) свойства Page.IsCrossPagePostBack, Page.PreviousPage  и т.д.

Автор: FelikZ 3.7.2007, 12:25
оооо! убрал ссылку на страницу и сразу зашло в обработчик smile теперь там Response.Redirect() и все тип-топ! СПАСИБО!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)