Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / .ascx и Page Life Cycle? / 7 сообщений из 7, страница 1 из 1
06.10.2006, 00:42
    #34036274
TomKa_t
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
.ascx и Page Life Cycle?
Необходимо создать контрол таким образом, чтобы он брал значение с Web формы, в которую "встраивается". Создаю User Control ctrlXml.ascx, включающий в себя логику по получению xml'я в зависимости от пар-ра strContent. Затем располагаю контрол ctrlXml.ascx на странице customers.aspx, на которой помимо прочих контролов есть TextBox tbGetXml и Button btnGetXml. При нажатии на кнопку, значение tbGetXml "передается" в пар-р strContent. Все бы было хорошо если б не "порядок":
- сначала происходит событие Page_Load User Control'а
- затем происходит Page_Load страницы (customer.aspx)
- и только после этого происходит событие btnGetXml_Click.

Таким образом знач-е strContent "устанавливается" после того как User Control прорисовался. Т.е. его содержимое как бы независимо от знач-я, введенного пользователем в tbGetXml. А мне надо, чтобы зависело. Ну сохранять знач-е при постбэке можно с помощью ViewState и свойства для чтения и записи. Может можно какой-нибудь Bind совершить?

Возможно путаюсь в терминологии. Но, надеюсь, что изложила суть проблемы. Может кто-нибудь может подсказать в каком направлении "копать"?
...
Рейтинг: 0 / 0
06.10.2006, 13:28
    #34037507
Dimon aka Manowar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
.ascx и Page Life Cycle?
Покажи плз код, а то что-то непонятно что от чего зависит и что у тебя не рисуется.

Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
...
Рейтинг: 0 / 0
06.10.2006, 14:44
    #34037893
TomKa_t
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
.ascx и Page Life Cycle?
Сделала следующим образом (выглядит "криво", но работает):

ctrlXml.ascx - содержит один xml-контрол - xmlCtrl
CodeBehind ctrlXml.ascx :
Код: 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.
public partial class ctrlXml : System.Web.UI.UserControl
{
    protected string strURL = "http://somewhat.ru/content.jsp?content=";
    private string strContent;
    public string StrContent
    {
        get
        {
            return strContent;
        }
        set
        {
            strContent = value;
            XmlDocument xmlDoc = new XmlDocument();
            try
            {
                xmlCtrl.TransformSource = "~/content.xsl";
                strURL += HttpUtility.UrlEncode(strContent, Encoding.GetEncoding("windows-1251"));
                xmlDoc.Load(strURL);
                xmlCtrl.Document = xmlDoc;
            }
            catch
            {
                xmlCtrl.Visible = false;
            }
        }
    }

CodeBehind Web-формы Default.aspx, на которой "обитает" User Control:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
      
    }
    protected void btnSearch_Click(object sender, EventArgs e)
    {
        if (tbSearch.Text != "")
        {
            ctrlXml.StrContent = tbSearch.Text;
        }
    }
}

Может есть какой другой - более правильный путь? (Как-то кажется неправильным в set свойстве прописывать код, который по идее должен содержаться в Page_Load самого User Control'а.)
...
Рейтинг: 0 / 0
06.10.2006, 14:48
    #34037920
TomKa_t
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
.ascx и Page Life Cycle?
Сорри, писАла все заново и названия трансформировались немного. Т.е.
TextBox tbGetXml стал называться tbSearch и Button btnGetXml = btnSearch соотв-но.
...
Рейтинг: 0 / 0
06.10.2006, 14:50
    #34037928
.ascx и Page Life Cycle?
вапще все неправельно!
не делой таг никада!
делой таг:
Код: plaintext
1.
<module:announcement runat="server" OnLoad= "PutId" />
Код: plaintext
1.
2.
3.
4.
5.
protected void PutId(object sender, EventArgs e)
{
    Announcement uc = (Announcement)sender;
    uc.Ids = id;
}
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
        private String id = String.Empty;
        public String Ids
        {
            get { return id; }
            set { id = value; }
        }

        public Announcement()
        {
            this.PreRender += delegate
            {
                if (!IsPostBack)
                {
                    //you code
                }
            };
        }

з.ы. пхотку в студию!
...
Рейтинг: 0 / 0
06.10.2006, 14:56
    #34037963
TomKa_t
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
.ascx и Page Life Cycle?
Сенкс! Сейчас попробую :).
...
Рейтинг: 0 / 0
06.10.2006, 14:59
    #34037987
.ascx и Page Life Cycle?
TomKa_tСенкс! Сейчас попробую :).
про пхотку не зобудь!
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / .ascx и Page Life Cycle? / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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