Я пытаюсь установить значение для TextLabel
при щелчке по сообщению LinkButton
. Однако мне не повезло.Как получить доступ к WebControl в DataList
Я попытался использовать DataList.SelectedItem.FindControl("blah")
, как показано на рисунке here, но SelectedItem
продолжает возвращаться null
.
Я также пробовал что-то вроде this stackoverflow question, но это не работает.
<asp:DataList
ID="dlMessages"
runat="server"
DataSourceID="dsMessages">
<EditItemStyle Font-Names="Courier New" />
<ItemStyle BorderStyle="NotSet" />
<ItemTemplate>
<div>
<table>
<tr>
<td><asp:LinkButton ID="MessageName" Text="Some stuff" runat="server" /></td>
<td>...</td>
</tr>
</table>
<asp:Label ID="TextLabel" runat="server />
</div>
</ItemTemplate>
protected void DataList_OnItemCommand(object sender, EventArgs e)
{
if (dlMessages.SelectedItem == null)
return;
DagSelect.Text = ((LinkButton) dlMessages.SelectedItem.FindControl("MessageName")).Text;
Label l = (Label) dlMessages.SelectedItem.FindControl("TextLabel");
l.Text = DagSelect.Text;
}
Кто-нибудь знает, как это сделать? В основном, я хочу, чтобы текст отображался только при выборе элемента. Когда это не так, строка должна оставаться пустой/невидимой.
спасибо! Он отлично работает! знак равно –