Доступ к свойству дочернего пользовательского элемента управления в родительском пользовательском элементе управления - PullRequest
2 голосов
/ 13 февраля 2010

Я включил пользовательский элемент управления в другой статически следующий код:


поместите следующую директиву в код asp родительской страницы или UserControl:

<%@ Register src="Name_of_your_child_control.ascx" tagname="Name_of_your_child_control" tagprefix="uc1" %>

используйте следующий тег в asp-коде родительской страницы / элемента управления:

<uc1:Name_of_your_child_control ID="Name_of_your_child_control1" runat="server" />

..... Но проблема в том, что ... я не могу получить доступ к общим свойствам пользовательского элемента управления, который был включен (дочерний пользовательский элемент управления) в данный пользовательский элемент управления (родительский элемент управления) ...

Пожалуйста, помогите: (

Ответы [ 4 ]

5 голосов
/ 13 февраля 2010

Скажите, что ваш пользовательский контроль был таким:

<%@ Control Inherits="Project.MyControl" Codebehind="MyControl.ascx.cs" %>
<asp:TextBox ID="TB" runat="server" />

Ваш контрольный код:

namespace Project 
{
  public partial class MyControl : UserControl
  {
    public string MyTextProperty
    {
      get { return TB.Text; }
      set { TB.Text = value; }
    }
  }
}

На вашей родительской странице, которая включала элемент управления, вот так:

<%@ Register src="~/MyControl.ascx" tagname="MyControl" tagprefix="uc1" %>
<uc1:MyControl ID="MyControlID" runat="server" />

Вы можете использовать это свойство в коде:

MyControlID.MyTextProperty = "bob";
0 голосов
/ 11 февраля 2016

Забавно, но всякий раз, когда вы добавляете свойство в пользовательский элемент управления.

Вам необходимо снова зарегистрировать его в родительском. Так что в вашем случае

Добавьте пробел в конце этой строки и удалите его снова: $<% Register src="~/MyControl.ascx" tagname="MyControl" tagprefix="uc1" %>

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

0 голосов
/ 14 февраля 2010

Проверьте путь и имена файлов, которые вы используете, Аниш. У тебя что-то не так. Visual Studio говорит вам, что не может найти элемент управления? Это не удается во время компиляции? Время воспроизведения

0 голосов
/ 13 февраля 2010

Использование

Name_of_your_child_control1.PublicPropertyName

должно работать для вашего родительского пользовательского элемента управления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...