我正在尝试为单击 MessageNameTextLabel
时设置一个值。LinkButton
但是我没有任何运气。
我尝试使用这里DataList.SelectedItem.FindControl("blah")
显示的但不断返回。SelectedItem
null
我也尝试过类似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;
}
有谁知道这样做的好方法?基本上,我只希望在选择项目时显示文本。如果不是,则字符串应保持为空/不可见。