powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Помогите поймать id нажатой кнопки
12 сообщений из 12, страница 1 из 1
Помогите поймать id нажатой кнопки
    #39109317
mdm114
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
<li><asp:LinkButton  ID="1" text=".." runat="server" OnClick="btn_Click"/></li>
<li><asp:LinkButton ID="2"  text="..." runat="server" OnClick="btn_Click"/></li>



...
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
string BehavID ="0";
...
 protected void btn_Click(object sender, EventArgs e)
    {
         switch ((sender as LinkButton).ID)
        {
            case "1":
                BehavID = "0";
                mp1.Show();
                break;
            case "2":
                BehavID = "1";
                mp1.Show();
                break;
        }
        TB.Text = (sender as LinkButton).ID;//Это уж воткнул для проверки
    }

  protected void mp1_PreRender(object sender, EventArgs e)
    {
        switch (BehavID)
        {
            case "0":
            default:
                GridView1.DataSourceID = "SqlDataSource1";
        GridView1.DataBind();
                break;
            case "1":
                  GridView1.DataSourceID = "SqlDataSource2";
        GridView1.DataBind();
                break;
            
         
        }
      
    }


собсно сам
Код: plaintext
1.
<cc1:ModalPopupExtender ID="mp1"  runat="server" PopupControlID="Showmp1" CancelControlID="btnClose1" BackgroundCssClass="modalBackground"  PopupDragHandleControlID="Showmpe1" Drag="true" TargetControlID="1" RepositionMode="RepositionOnWindowResize" OnPreRender ="mp1_PreRender"/>



При нажатии на первую выдает окно с тем гридом который надо, но проверочный тексбокс пустой
При нажатии на вторую выдает опять же окно с тем гридом который надо и в проверочном тексбоксе правильное значение

При последующих нажатиях и на первую и на вторую входит окно с гридом и текстом от второй кнопки.
Че вообще ниче не пойму. Такое ощушение, что после двух нажатий id замирает на 1
...
Рейтинг: 0 / 0
Помогите поймать id нажатой кнопки
    #39109371
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mdm114
Ну, во-первых, про ID = "1" или "2" не заливай. designer.cs твоей формы просто не скомпилится.
Во-вторых, смотри на ModalPopupExtender - что-то там наворотил.
Либо давай весь код формы...
...
Рейтинг: 0 / 0
Помогите поймать id нажатой кнопки
    #39109505
mdm114
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Axeleron,
я немного упростил, так как во время тестов стока лишнего кода навалял. Думал так понятнее будет. Завтра попробую выложить полный код.

Пока у меня после всевозможных опытов тоже подозрения только на ModalPopupExtender остались
...
Рейтинг: 0 / 0
Помогите поймать id нажатой кнопки
    #39109882
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mdm114Пока у меня после всевозможных опытов тоже подозрения только на ModalPopupExtender остались
У меня все отреботало ок, но без этого твоего попапа..
...
Рейтинг: 0 / 0
Помогите поймать id нажатой кнопки
    #39110571
mdm114
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответы, я честно и сам не в восторге от модальных окон, но другого решения пока не нашел. Дело в том, что на экран выводится таблица с большим количеством колонок и инфа в ней теряется. Поэтому в модальном окне выводится допинформация, которой нет в основной таблице+плюс различные расчеты..

сосбно вот полностью

всплывающее окно, в котором находится грид, который по задумке должен подгружаться разными датасоурс, дабы не плодить лишние всплывающие окна

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
<cc1:ModalPopupExtender ID="mp1"  runat="server" PopupControlID="Showmp1" CancelControlID="btnClose1" BackgroundCssClass="modalBackground"  
PopupDragHandleControlID="Showmp1" Drag="true" TargetControlID="Link1" 
RepositionMode="RepositionOnWindowResize" OnPreRender ="mp1_PreRender"/>

<asp:Panel ID="Showmp1" runat="server" CssClass="modalPopup" Style="display: none"   >
<asp:UpdatePanel ID ="upd1"  runat="server" UpdateMode="Conditional" >
        <ContentTemplate>
<div class="header"></div>
    <div class="body">
<table>
    <tr>
        <td>
<asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1"   
AutoGenerateEditButton="True" AutoGenerateDeleteButton="True" AutoGenerateColumns="True" CellPadding="4" 
ForeColor="#333333" GridLines="None" OnSelectedIndexChanged="GridView1_SelectedIndexChanged" 
DataKeyNames="id" Width="400px"> 
     .....
     .....
</asp:GridView>  
    </td>
        <td></td>
        </tr>
    <tr>
        <td>
<asp:TextBox ID="TB17"  runat="server" CssClass="Box1" />
<asp:Button ID="Btn23" runat="server" Text="Добавить"  OnClick="Button23_Click" CssClass="button" />    
   </td>
        <td></td>
             </tr>
</table>
        
</div>
            </ContentTemplate>
        </asp:UpdatePanel>
   
    <div class="footer"><asp:Button ID="btnClose1" runat="server" Text="Закрыть" CssClass="btnClose"/></div>
            
</asp:Panel>



Код: html
1.
2.
<li><asp:LinkButton ID="link1" text="Адреса" runat="server" OnClick="btn_Click"/></li>
<li><asp:LinkButton  ID="link2"  text="Телефоны" runat="server" OnClick="btn_Click"/></li>



Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
string BehavID ="0";
...

protected void btn_Click(object sender, EventArgs e)
    {
         switch ((sender as LinkButton).ID)
        {
            case "link1":
                BehavID = "0";
                mp1.Show();
                break;
            case "link2":
                BehavID = "1";
                mp1.Show();
                break;
        }
        TB17.Text = (sender as LinkButton).ID;//Это уж воткнул для проверки
    }

  protected void mp1_PreRender(object sender, EventArgs e)
    {
        switch (BehavID)
        {
            case "0":
            default:
                GridView1.DataSourceID = "SqlDataSource1";
        GridView1.DataBind();
                break;
            case "1":
                  GridView1.DataSourceID = "SqlDataSource2";
        GridView1.DataBind();
                break;
            
         
        }
      
    }
...
Рейтинг: 0 / 0
Помогите поймать id нажатой кнопки
    #39110606
mdm114
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
удалил все. Переписал заново. Стало работать, но есть одно но!
При первом нажатии на link1 выводится все правильно, но
Код: plaintext
1.
TB17.Text = (sender as LinkButton).ID;


текстбокс выходит пустой. При последующих нажатиях на него тоже
Нажимаю на link2 Все замечательно и tb с записью. Нажимаю снова на link1 тоже работает и в tb правильная запись

Те. пока не нажму link2, событие на link1 фунициклирует не совсем правильно. На функционал это, впрочем, не влияет, просто уже интересно - почему так
...
Рейтинг: 0 / 0
Помогите поймать id нажатой кнопки
    #39110993
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mdm114текстбокс выходит пустой. При последующих нажатиях на него тоже
Нажимаю на link2 Все замечательно и tb с записью. Нажимаю снова на link1 тоже работает и в tb правильная запись
Это-что (инициализация) где-то совсем элементарное пропущено. Дебажить!
...
Рейтинг: 0 / 0
Помогите поймать id нажатой кнопки
    #39111083
mdm114
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прриключения продолжаются. Опять специфика WebForm.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
//Внесение данных в разные таблички по нажатию одной и той же кнопки
protected void Button23_Click(object sender, EventArgs e)
    {
        switch (BehavID)
        {
            case "0":
              //внесение данных в первую таблицу
        
                break;
            case "1":
                //внесение данных во вторую таблицу
        
                break;
            default:
             
                break;
        }
       
       
    }


Так вот, BehavID у меня здесь всегда равен 0. Я так понимаю, что вебформа перезагружается полностью( какого хрена только?? ), так как переменная объявлена здесь.

Код: c#
1.
2.
3.
4.
5.
public partial class Page2 : System.Web.UI.Page
{
    string BehavID = "0";
    string TargetControlID = "link1";
...


Запись идет в первую таблицу.
В Windows Forms как то попроще было все. Как решить это?????


Привязался к DataSourceID

switch (DataSourceID)

Стало заполняться в правильную таблицу, но после обновления выскакивает таблица sqldatasource1, хотя всплывающее окно не закрывается. Как я понимаю все опять упирается в

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
 protected void mp1_PreRender(object sender, EventArgs e)
    {
        switch (BehavID)
        {
            case "0":
            default:
                GridView1.DataSourceID = "SqlDataSource1";
        GridView1.DataBind();
...



в туже самую переменную

ЗЫ: Сильно не пинайте..

ЗЫ 2: Имеет какое то значение где располагать sqldatasource? Внутри updatepanel или просто оставить в форме, где все остальные?
...
Рейтинг: 0 / 0
Помогите поймать id нажатой кнопки
    #39111087
mdm114
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AxeleronЭто-что (инициализация) где-то совсем элементарное пропущено. Дебажить!

Не совсем понял. Можно поподробнее
...
Рейтинг: 0 / 0
Помогите поймать id нажатой кнопки
    #39111113
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mdm114AxeleronЭто-что (инициализация) где-то совсем элементарное пропущено. Дебажить!

Не совсем понял. Можно поподробнее
Слишком много разрозненных вопросов. Есть острое ощущение, что Вам нужно почитать для начала о Page Lifecycle. Эту тему, начинающие изучать .NET почему-то остро игнорирурют и пропускают мимо, но совершенно напрасно, ибо пока не будет четкого понимания как работает страница и как связаные с ней контролы подобных вопросов будет очень много.
...
Рейтинг: 0 / 0
Помогите поймать id нажатой кнопки
    #39111130
mdm114
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо, почитаю
за ссылки на вразумительные описания буду премногоблагодарен..
...
Рейтинг: 0 / 0
Помогите поймать id нажатой кнопки
    #39111496
mdm114
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: c#
1.
static string BehavID ="0";

, ёптиль!
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Помогите поймать id нажатой кнопки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]