Я пытаюсь достичь чего-то, что, я уверен, довольно просто, но я не вижу дерева для деревьев. Я создал простой элемент управления, который наследуется от кнопки ссылки, которая содержит список простого объекта, называемого LinkParamaters, идея заключается в том, что в разметке вы можете определить URL-адрес обратной связи, а также параметры, которые затем возвращают свойство PostBackUrl, чтобы включить запрос. Это работало так, как ожидалось, пока я не захочу, чтобы данные связывали параметры внутри ретранслятора. Затем я начал получать следующую ошибку Parser:Data Bind to Custom Control Parameter Collection
Databinding expressions are only supported on objects that have a DataBinding event. UI.Controls.LinkParameter does not have a DataBinding event.
Итак, я понял, что мне, очевидно, необходимо реализовать событие привязки данных. возможно, есть интерфейс, который мне нужно реализовать, я не смог его найти. К сожалению, я только что переместил задания, поэтому на данный момент у меня нет доступа к рефлектору, поэтому я не мог проснуться в коде, но я мог видеть, что у Control есть эти события/методы, наследующие объект параметра из Control, разрешившего ошибку анализатора, но неудивительно не разрешал привязку, и это не имеет никакого смысла, поскольку это не контроль.
Код кнопки Link:
[ParseChildren(true, DefaultProperty = "Parameters")]
public class QueryLinkButton : LinkButton
{
private String _url = null;
public QueryLinkButton()
{
this.Parameters = new List<LinkParameter>();
}
public override String PostBackUrl
{
get
{
return _url ?? (_url = BuildUrl());
}
set
{
base.PostBackUrl = value;
}
}
[PersistenceMode(PersistenceMode.InnerDefaultProperty)]
public List<LinkParameter> Parameters { get; set; }
private String BuildUrl()
{
//Build URL to Include Query String Params
}
}
public class LinkParameter
{
public String Name { get; set; }
public String Value { get; set; }
}
И тогда Asp код:
<custom:QueryLinkButton runat="server" ID="EventLink" Text="View Accommodation" PostBackUrl="HotelCriteria.aspx">
<custom:LinkParameter runat="server" Name="EventID" Value='<%# Eval("EventID")%>'/>
</custom:QueryLinkButton>
У меня вокруг проблемы сейчас при обращении с этой стороны сервера, но это действительно отчасти нивелирует то, что Я пытался создать пользовательский элемент управления, поскольку я хотел бы определить эти вещи исключительно в разметке. Даже просто ссылка на статью, чтобы начать меня, будет очень благодарна, поскольку я долгое время искал Google и мог найти только похожие проблемы, но не то же самое, но это, скорее всего, приводит к низким критериям поиска.
Заранее спасибо
Пол
К сожалению нет ответа на это, я быть немым или это просто Рождество перерыв, что означало это потерялся в куче? –