Я создаю веб-страницу со списком продуктов, используя aspx webform. Для этого в пользовательском элементе управления, соответствующем моему списку, я перебираю свои продукты и добавляю один новый пользовательский элемент управления по продукту:
foreach (Product p in this.Products)
{
ucProductItem.product = p;
%>
<uc:ucProductItem runat="server" ID="ucProductItem" />
<%
}
%>
Это прекрасно работает, и я в порядке с этим ... НО не совсем, потому что я нахожу это довольно уродливым и грязным; Мне не нравится смешивать разметку и код в шаблоне, и я стараюсь максимально использовать разметку (и у меня есть эта проблема во всем моем проекте).
Таким образом, я хотел бы передать продукт p
новому пользовательскому элементу управления ucProductItem
через разметку, и я попробовал что-то вроде:
<uc:ucProductItem runat="server" ID="ucProductItem" product=p />
Я знаю, что это возможно для примитивных типов, таких как строки и целые числа, но я не могу понять, как это сделать с объектами.
Это возможно? И как?