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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передача динамического набора параметров 
:(
    Опции темы
Vit
Дата 28.4.2007, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

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



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

"MyPage.aspx?img1=a&img2=sdf&img3=... 

Маразм... Конечно можно через базу данных, сначала засунуть туда этот список, а потом передать id и получить этот список из базы, но это вроде как через одно место... И как это по нормальному реализовать?


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Sartorius
Дата 28.4.2007, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

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



 <удалил>

Это сообщение отредактировал(а) Sartorius - 28.4.2007, 18:04
PM MAIL ICQ   Вверх
6atoh
Дата 28.4.2007, 18:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Для передачи строковых данных между страницами, можно использовать Session, ViewState, hidden fields.
PM MAIL ICQ   Вверх
Mymik
Дата 28.4.2007, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



А еще можно делать через PostBackUrl (это свойство у asp:Button есть)
А на ту страницу куда передаешь можно достать значение через
Код

if (PreviousPage != null)
{
    TextBox txtName = (TextBox) PreviousPage.FindControl("txtName");
}



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

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


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

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



Цитата(Mymik @  28.4.2007,  11:51 Найти цитируемый пост)
TextBox txtName = (TextBox) PreviousPage.FindControl("txtName");



Не ищет, если контрол находится в таблице...


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
a.S.d
Дата 28.4.2007, 23:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Vit, Если таблица - серверный контрол, то искать надо через <table ID>.FindControl().

PM MAIL   Вверх
Vit
Дата 29.4.2007, 03:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

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



Цитата(a.S.d @  28.4.2007,  14:10 Найти цитируемый пост)
Vit, Если таблица - серверный контрол, то искать надо через <table ID>.FindControl().



не-а... получается что надо искать в каждой клетке отдельно...


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
dazy
Дата 29.4.2007, 07:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Vit @  29.4.2007,  06:22 Найти цитируемый пост)
не-а... получается что надо искать в каждой клетке отдельно... 


Можно искать для каждой строки отдельно.

Код

Text = (GridView1.Rows[e.RowIndex].FindControl("TBQuestion") as System.Web.UI.WebControls.TextBox).Text;


Но правда это вызывается на этой же странице и в событии самого GridView1. Может поэтому находится конрол.
PM MAIL   Вверх
Mymik
Дата 29.4.2007, 07:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



dazy, это ищется в конкретном объекте. Но в Child node'ах оно не будет искаться.

Вообще, если посидеть и немного подумать, то становиться понятным почему оно не будет искать контролы в child'ах. Хотя бы потому что слишком велика вероятность наличия одинаковых ID. И потому оно ищется только лишь в данном объекте. Если тебе нужно обратиться к какому-нибудь user-web-control и там найти объект этого checkbox'а... тогда тебе прийдется найти сначала этот контрод, а после него искать дальше свой контрол уже внутри первого.


Цитата(Vit @  29.4.2007,  03:22 Найти цитируемый пост)
не-а... получается что надо искать в каждой клетке отдельно... 

Найди таблицу, а в ней ищи нужные тебе контролы.


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

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


Эксперт
***


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

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



Vit, Если тебе не удобно через FindControl тогда сделай через Reflaction
Default.aspx
Код

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!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>
        First Name: <asp:TextBox ID="txtName" runat="server" /><br/>
        Last Name: <asp:TextBox ID="txtLastName" runat="server" /><br/>
        Email: <asp:TextBox ID="txtEmail" runat="server" /><br/>
        <asp:Button PostBackUrl="~/Default2.aspx" Text="Click Me" runat="server" />
    </div>
    </form>
</body>
</html>

Behind Code: (Мы тут определяем метод, который будет забирать данные с нашей страницы)
Код

    protected void Page_Load(object sender, EventArgs e)
    {

    }
    public Dictionary<string, string> GetTextBoxValue()
    {
        Dictionary<string, string> user = new Dictionary<string, string>();
        user.Add("Username", txtName.Text.Trim());
        user.Add("LastName", txtLastName.Text.Trim());
        user.Add("Email", txtEmail.Text.Trim());

        return user;
    }


Когда Aspx Файла Default2.aspx не привожу, потому как он пустой.
А вот behind Code привожу
Код

    protected void Page_Load(object sender, EventArgs e)
    {
        if (PreviousPage != null)
        {
            /* Создания */
            Dictionary<string, string> user = new Dictionary<string, string>();
            /* Получаем описание метода, и вызываем его */
            user = (PreviousPage.GetType().GetMethod("GetTextBoxValue").Invoke(PreviousPage, null) as Dictionary<string, string>);
            /* Добавляем на странице текстовые Node'ы */
            Page.Controls.Add(new LiteralControl("Username:" + user["Username"] + "<br/>"));
            Page.Controls.Add(new LiteralControl("LastName:" + user["LastName"] + "<br/>"));
            Page.Controls.Add(new LiteralControl("Email:" + user["Email"] + "<br/>"));
        }
    }

Тут это делается немного легче (хотя это ИМХО каждого)


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

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

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

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

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


 




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


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

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