C# 获取数据列表中选定项的值
我试图在单击按钮时从所选项目获取值 这是我的密码:C# 获取数据列表中选定项的值,c#,asp.net,C#,Asp.net,我试图在单击按钮时从所选项目获取值 这是我的密码: <asp:DataList ID="DataList1" runat="server" RepeatColumns="3" RepeatDirection="Horizontal" Width="100%"> <ItemTemplate> <p class="own"><asp:Image ID="Image1" runat="server" ImageUrl='<%# "
<asp:DataList ID="DataList1" runat="server" RepeatColumns="3" RepeatDirection="Horizontal" Width="100%">
<ItemTemplate>
<p class="own"><asp:Image ID="Image1" runat="server" ImageUrl='<%# "GetImageDatafromDB.aspx?id=" + System.Convert.ToString(Eval("ID")) %>' Width="230" Height="250"/>
<br />
<span class="own1" style="width:230px;"><br /><asp:Label ID="Label1" runat="server" Text='<%# Eval("Name") %>' Font-Bold="True" Font-Size="1.2em" ForeColor="White"/>
<br />
<asp:Label ID="Label5" runat="server" Text="Direktor :" style="color:#06D85F; float:left"></asp:Label><asp:Label ID="Label2" runat="server" CssClass="InFo" Text='<%# Eval("fattare") %>' Font-Italic="true"/>
<br />
<asp:Label ID="Label4" runat="server" Text="Year : " style="color:#06D85F; float:left;"></asp:Label><asp:Label ID="Label3" CssClass="InFo" runat="server" Text=' <%# (Eval("Ar")) %>' />
</br>
<asp:Button ID="Button1" runat="server" Text="Visa" CommandName="ButtonClick"/>
</span>
<asp:Label ID="Label6" runat="server" Visible="false" Text='<%# Eval("Name") %>'></asp:Label>
</p>
</ItemTemplate>
</asp:DataList>
当我单击按钮时,我得到所有项目的所有名称,但我只想得到所选项目的名称。在DataList1的ItemCommand事件上,粘贴以下代码:
protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{
DataList1.SelectedIndex = e.Item.ItemIndex;
myTempLabel.Text = "You selected: " + ((Label)DataList1.SelectedItem.FindControl("Label1")).Text;
myTempLabel.Visible = true;
}
我相信你需要使用SelectedItem 大概是这样的:
protected void Button1_Click(object sender, EventArgs e)
{
if (DataList1.SelectedItem != null)
{
Label myTempLabel = (Label)DataList1.SelectedItem.FindControl("Label6");
myTempLabel.Visible = true;
}
}
尝试更改此选项:
<asp:Button ID="Button1" runat="server" Text="Visa" CommandName="ButtonClick"/>
为此:
<asp:Button ID="Button1" runat="server" Text="Visa" OnClick="Button1_Click"
/>
另一种方法是删除按钮中的代码并在Item_命令中处理:
//Add item command to DataList
<asp:DataList ID="DataList1" runat="server" RepeatColumns="3" RepeatDirection="Horizontal" Width="100%" OnItemCommand="Item_Command">
void Item_Command(Object sender, DataListCommandEventArgs e)
{
// Set the SelectedIndex property to select an item in the DataList.
ItemsList.SelectedIndex = e.Item.ItemIndex;
//Get the selected Item
DataListItem selectedItem = DataList1.DataKeys[DataListList1.SelectedIndex];
//Get the label control
Label myTempLabel = (Label)selectedItem.FindControl("Label6");
myTempLabel.Visible = true;
// Not sure if this is needed.
//ItemsList.DataSource = CreateDataSource();
//ItemsList.DataBind();
}
//将item命令添加到数据列表
void Item_命令(对象发送方,DataListCommandEventArgs e)
{
//设置SelectedIndex属性以选择数据列表中的项目。
ItemsList.SelectedIndex=e.Item.ItemIndex;
//获取所选项目
DataListItem selectedItem=DataList1.DataKeys[DataListList1.SelectedIndex];
//获取标签控件
Label myTempLabel=(Label)selectedItem.FindControl(“Label6”);
myTempLabel.Visible=true;
//不确定是否需要这样做。
//ItemsList.DataSource=CreateDataSource();
//ItemsList.DataBind();
}
select语句中不应该有一个where子句,其中的参数将所需参数的名称传递给where子句吗
//Add item command to DataList
<asp:DataList ID="DataList1" runat="server" RepeatColumns="3" RepeatDirection="Horizontal" Width="100%" OnItemCommand="Item_Command">
void Item_Command(Object sender, DataListCommandEventArgs e)
{
// Set the SelectedIndex property to select an item in the DataList.
ItemsList.SelectedIndex = e.Item.ItemIndex;
//Get the selected Item
DataListItem selectedItem = DataList1.DataKeys[DataListList1.SelectedIndex];
//Get the label control
Label myTempLabel = (Label)selectedItem.FindControl("Label6");
myTempLabel.Visible = true;
// Not sure if this is needed.
//ItemsList.DataSource = CreateDataSource();
//ItemsList.DataBind();
}