, поэтому я, наконец, начал создавать пользовательские элементы управления вместо использования функций, которые возвращают куски 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 получает правильное значение.
Что здесь происходит? Как я могу заставить это работать? Любые предложения оцениваются, Nicolas
Редактировать: Еще один контекст. В основном я хочу, чтобы иметь возможность вставлять элемент управления на несколько страниц без настроек его свойств в коде позади, но все же быть в состоянии установить его видимость, вызвав (изменяющийся) метод со страницы содержания.
<%@ 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>
:(плохие плохие спагетти кодирования – Phill
Вы можете уточнить – Nicolas78