так что я наконец-то начал создавать собственные элементы управления вместо использования функций, которые возвращают куски HTML;) Но я столкнулся с проблемой.Я хочу передать параметры в элемент управления, скажем, "X":
<some:MessageControl runat="server" X=<%# "asd" %> />
Мой код выглядит следующим образом:
public partial class MessageControl : System.Web.UI.UserControl
{
String x = "";
public String X
{
get { return x; }
set { x = value;}
}
}
Когда я вывожу значение x
вэлемент управления,
x: <%= X %>
пуст.Если я передаю «asd» напрямую, как в
<some:MessageControl runat="server" X="asd" />
X, получает правильное значение.
Что здесь происходит?Как я могу заставить это работать?Любые предложения приветствуются, Николас
Редактировать: Еще немного контекста. В основном я хочу иметь возможность вставить элемент управления на несколько страниц без настройки его свойств в коде позади, но все жебыть в состоянии установить его видимость, вызывая (изменяющийся) метод с содержащейся страницы.
<%@ Page Language="c#" Src="MyPage.aspx.cs" AutoEventWireup="true" Inherits="MyPage" %>
<%@ Register Src="MessageControl.ascx" TagName="MessageControl" TagPrefix="some" %>
<html>
<body>
<some:MessageControl runat="server" Visible=<%# SomeBoolMethodFromContaining Page%> />
</body>
</html>