0

我正在尝试为单击 MessageNameTextLabel时设置一个值。LinkButton但是我没有任何运气。

我尝试使用这里DataList.SelectedItem.FindControl("blah")显示的但不断返回。SelectedItemnull

我也尝试过类似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;
 }

有谁知道这样做的好方法?基本上,我只希望在选择项目时显示文本。如果不是,则字符串应保持为空/不可见。

4

1 回答 1

1

添加CommandName="Select"到您的 LinkBut​​ton,然后将您的事件更改为SelectedIndexChangedDataList 上的事件。

<asp:LinkButton CommandName="Select" ID="MessageName" Text="Some stuff" runat="server" />
于 2013-07-10T05:25:37.493 回答