Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Проблема с web user control / 8 сообщений из 8, страница 1 из 1
25.10.2006, 17:20
    #34081142
John77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с web user control
Есть web user control, содержащий html и web контроллы:

Код: 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.
public class ShowOpenFile : System.Web.UI.UserControl
    {
        protected System.Web.UI.HtmlControls.HtmlInputFile lbtnOpenFile;
        protected System.Web.UI.WebControls.LinkButton lbtnDelete;
        protected System.Web.UI.WebControls.LinkButton lbtnSave;
        protected System.Web.UI.WebControls.HyperLink linkExistFile;

        public string UserFileName
        {
	get
	{
	    return linkExistFile.Text;
	}

	set
	{
(*)             linkExistFile.Text = value.ToString();
	    lbtnOpenFile.Visible = (linkExistFile.Text == "");
	    lbtnDelete.Visible = (linkExistFile.Text != "");
	    lbtnSave.Visible = (linkExistFile.Text == "");
	}
        }

....
}
Если на форме я создаю объект класса путем перетягивания этого контролла из solution explorer, то все работает замечательно.

Если же я хочу создать контролл динамически, то есть

ShowOpenFile ShowOpenFile1 = new ShowOpenFile();
ShowOpenFile1.UserFileName = "document.doc";

то у меня вылетает ошибка на строке, помеченной (*).

Подскажите, плиз, как это исправить....
...
Рейтинг: 0 / 0
25.10.2006, 18:01
    #34081316
John77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с web user control
При таком создании контролла

Код: plaintext
1.
2.
ShowOpenFile ShowOpenFile3 = (ShowOpenFile)LoadControl("ShowOpenFile.ascx");
ShowOpenFile3.UserFileName = "Test User File Name";
Page.Controls.Add(ShowOpenFile3);

выдается ошибка, что контролл lbtnDelete должен находиться внутри тегов с runat="server"...

Ничего не понимаю :'(
...
Рейтинг: 0 / 0
25.10.2006, 19:15
    #34081536
dimasha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с web user control
можно попробовать так:
protected System.Web.UI.WebControls.Panel Panel1;
 
  private void Page_Load(object sender, System.EventArgs e)
  {
   ShowOpenFile uc = Page.LoadControl("ShowOpenFile.ascx") as ShowOpenFile;
   if(uc != null)
   {
    uc.UserFileName = "test";
    Panel1.Controls.Add(uc);
   }
  }
...
Рейтинг: 0 / 0
26.10.2006, 09:23
    #34082259
John77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с web user control
dimasha, спасибо!
У меня получилось :)
...
Рейтинг: 0 / 0
26.10.2006, 09:44
    #34082310
John77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с web user control
И снова возникла проблема...
У меня есть функция другого класса, которая по входному параметру определяет, какой именно контролл необходимо создать. Внутри этой функции Page нету, поэтому я опять не могу создать свой user control.
...
Рейтинг: 0 / 0
26.10.2006, 11:33
    #34082770
gerss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с web user control
John77И снова возникла проблема...
У меня есть функция другого класса, которая по входному параметру определяет, какой именно контролл необходимо создать. Внутри этой функции Page нету, поэтому я опять не могу создать свой user control.
А функция откуда вызывается? Может, ей можно передать Page как параметр?
...
Рейтинг: 0 / 0
26.10.2006, 13:40
    #34083501
dimasha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с web user control
можно так

public class Test
{
  public static string ChooseControl(int check)
  {
   switch(check)
   {
    case 1: return "UC/UC1.ascx";break;
    case 2: return "UC/UC2.ascx";break;
    default : return string.Empty; break;
   }
  }
}

и на странице
UC1 uc = Page.LoadControl(Test.ChooseControl(1)) as UC1;
...
тупо, но работает
...
Рейтинг: 0 / 0
27.10.2006, 14:49
    #34087255
John77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с web user control
Пришлось передать page в функцию. Работает нормально.

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


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