Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отлов кнопки ascx в aspx 
V
    Опции темы
alexburzak
  Дата 18.12.2007, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 254
Регистрация: 12.3.2007
Где: Hadera

Репутация: 1
Всего: 1



Создал два файла – aspx и ascx. То есть контрол и обыкновенная страница.
На ascx имеется кнопка с id=”MyID”

Как в файле aspx при событие Page_Load отловить, что эта кнопка нажата?
На уровне интуиции понимаю, что нужно использовать sender As Object.
Но как это сделать? Плиз помогите, как можно понять что перегруз страницы произошел, что нажата кнопка?
 smile 
PM   Вверх
tol05
Дата 18.12.2007, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

Репутация: 34
Всего: 170



Буквально вчера был похожий вопрос здесь
Я еще мучался, вроде проще можно... Но нет smile сегодня подтверждение нашел здесь

Т.е. сначала можно попробовать через "__EVENTTARGET", но если не получится, то все равно, через ключи request-a...


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
Mymik
Дата 18.12.2007, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 50
Всего: 78



Может быть немного не в тему, но мне кажется, нужно использовать событийное программирование...
aspx файл
Код

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default6.aspx.cs" Inherits="Default6" %>
<%@ Register Src="~/test.ascx" TagName="Test" TagPrefix="cc" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <%-- Подключаемый User Control --%>
        <cc:Test ID="tTest" runat="server" />
        <%-- Наш прекрасный индикатор --%>
        <asp:Label ID="lblTest" runat="server" />
    </div>
    </form>
</body>
</html>


aspx.cs
Код

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class Default6 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        /* Подключаем обработчик события */
        tTest.PressMeClick += new EventHandler(tTest_PressMeClick);
    }

    /* Сам обработчик события */
    protected void tTest_PressMeClick(object sender, EventArgs e)
    {
        lblTest.Text = "Press Me Clicked";
    }
}


ascx
Код

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="test.ascx.cs" Inherits="test" %>
<asp:Button ID="btnSubmit" OnClick="btnSubmit_Click" Text="Press Me" runat="server" />

ascx.cs
Код

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class test : System.Web.UI.UserControl
{
    /* Наше доблестное событие */
    public event EventHandler PressMeClick;

    protected void Page_Load(object sender, EventArgs e)
    {

    }

    /* Обработчик нажатия кнопки */
    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        if (PressMeClick != null)
            PressMeClick(sender, e);
    }
}


ИМХО зачем танцы с бубном и распарсивание самому пришедших данных, если всегда можно воспользоваться человеческим решением... Или у автора такие же траблы с динамическими контролами -- тогда надо читать чужие посты в форуме.


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
alexburzak
  Дата 18.12.2007, 20:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 254
Регистрация: 12.3.2007
Где: Hadera

Репутация: 1
Всего: 1



Mymik Совершенное решение, спасибо.  smile 
tol05 тоже имеет право на сушествование, иногда нужно работать ссырыми даннами. спасибо.  smile

Добавлено через 50 секунд
Но кажется и через sender моно это откапать, по крайней мере дебаг так показывает.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0704 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.