C# 如何知道在数据列表中单击的按钮的工具提示
我需要代码示例。我尝试了selectedindexchange,但它没有注册任何索引更改。要使用什么 它的c#vs08 asp.net sql server 代码文件是 .cs文件 源文件C# 如何知道在数据列表中单击的按钮的工具提示,c#,asp.net,visual-studio-2008,datalist,C#,Asp.net,Visual Studio 2008,Datalist,我需要代码示例。我尝试了selectedindexchange,但它没有注册任何索引更改。要使用什么 它的c#vs08 asp.net sql server 代码文件是 .cs文件 源文件 错误:-我忘了把 OnItemCommand=“MyDataList\u ItemCommand” 在数据列表源代码中 …您可以这样做: protected void Button1_Click1(object sender, EventArgs e) { Label5.Text = (sender
错误:-我忘了把 OnItemCommand=“MyDataList\u ItemCommand” 在数据列表源代码中 …您可以这样做:
protected void Button1_Click1(object sender, EventArgs e)
{
Label5.Text = (sender as Button).ToolTip;
}
此外,如果您知道要使用该行中的其他控件,则可以使用DataList.ItemCommand事件而不是按钮。单击事件。下面是一个示例,说明了如何做到这一点:
ASP标记:
<asp:Label ID="MyLabel" runat="server" />
<asp:DataList ID="MyDataList" runat="server" OnItemCommand="MyDataList_ItemCommand">
<ItemTemplate>
<!-- Suppose you had some input controls that you needed to work with as well -->
<asp:TextBox ID="txtInput1" runat="server" />
<asp:TextBox ID="txtInput2" runat="server" />
<asp:Button ID="btnMyCommand" runat="server" CommandName="MyCommand" CommandArgument='<%# Eval("NAME") %>' Text='<%# "Execute My Command on ID:" + Eval("ID") %>' ToolTip='<%# string.Format("This will execute the \"My Command\" command on {0}.", Eval("NAME")) %>' />
<!-- just some examples of other buttons on the same row that execute different commands -->
<asp:Button ID="btnDoSomethingCrazy" runat="server" CommandName="Do Something Crazy!" Text="Do Something Crazy!" />
<asp:LinkButton ID="btnEdit" runat="server" CommandName="Edit" Text="Edit" />
</ItemTemplate>
</asp:DataList>
您可以这样做:
protected void Button1_Click1(object sender, EventArgs e)
{
Label5.Text = (sender as Button).ToolTip;
}
此外,如果您知道要使用该行中的其他控件,则可以使用DataList.ItemCommand事件而不是按钮。单击事件。下面是一个示例,说明了如何做到这一点:
ASP标记:
<asp:Label ID="MyLabel" runat="server" />
<asp:DataList ID="MyDataList" runat="server" OnItemCommand="MyDataList_ItemCommand">
<ItemTemplate>
<!-- Suppose you had some input controls that you needed to work with as well -->
<asp:TextBox ID="txtInput1" runat="server" />
<asp:TextBox ID="txtInput2" runat="server" />
<asp:Button ID="btnMyCommand" runat="server" CommandName="MyCommand" CommandArgument='<%# Eval("NAME") %>' Text='<%# "Execute My Command on ID:" + Eval("ID") %>' ToolTip='<%# string.Format("This will execute the \"My Command\" command on {0}.", Eval("NAME")) %>' />
<!-- just some examples of other buttons on the same row that execute different commands -->
<asp:Button ID="btnDoSomethingCrazy" runat="server" CommandName="Do Something Crazy!" Text="Do Something Crazy!" />
<asp:LinkButton ID="btnEdit" runat="server" CommandName="Edit" Text="Edit" />
</ItemTemplate>
</asp:DataList>
您可以尝试强制转换发件人:
protected void Button1_Click1(object sender, EventArgs e)
{
Button myButton = (Button)sender;
Label5.Text = myButton.ToolTip;
}
您可以尝试强制转换发件人:
protected void Button1_Click1(object sender, EventArgs e)
{
Button myButton = (Button)sender;
Label5.Text = myButton.ToolTip;
}
对于其他新蜜蜂,也可以通过将datalist的itemcommand属性从design视图设置为名为datalist1_blahblah….的方法来完成以下操作。。。。注意:-如果该方法位于.cs文件中,则该方法将出现在下拉列表中“/”行中具有CommandName属性集的所有按钮中可能存在错误,这可能会导致此事件处理程序执行。“即使没有此属性集的按钮,如上面编辑的问题代码中的“按钮1单击”导致执行datalist的click事件和itemcommand事件!。。为什么?人力资源部,你是对的。DataList.ItemCommand事件()的文档只说它“在DataList控件中单击任何按钮时发生”,并且它“通常在具有自定义CommandName值的按钮控件时使用。”我将更新示例中的注释以使其更准确。至于原因…控件设计者可能只是没有看到将事件限制为CommandName设置为的按钮的理由。如果CommandName为null,您可以选择忽略它。对于其他新的蜜蜂,也可以通过将datalist的itemcommand属性从设计视图设置为使用名称datalist1_blahblah…生成的方法来完成以下操作。。。。注意:-如果该方法位于.cs文件中,则该方法将出现在下拉列表中“/”行中具有CommandName属性集的所有按钮中可能存在错误,这可能会导致此事件处理程序执行。“即使没有此属性集的按钮,如上面编辑的问题代码中的“按钮1单击”导致执行datalist的click事件和itemcommand事件!。。为什么?人力资源部,你是对的。DataList.ItemCommand事件()的文档只说它“在DataList控件中单击任何按钮时发生”,并且它“通常在具有自定义CommandName值的按钮控件时使用。”我将更新示例中的注释以使其更准确。至于原因…控件设计者可能只是没有看到将事件限制为CommandName设置为的按钮的理由。如果CommandName为null,您可以选择忽略它。
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack && !Page.IsCallback)
{
// some example data
MyDataList.DataSource = new[] {
new { ID = 1, NAME = "ABCD" },
new { ID = 2, NAME = "BCDE" },
new { ID = 3, NAME = "CDEF" },
};
MyDataList.DataBind();
}
}
protected void MyDataList_ItemCommand(object sender, DataListCommandEventArgs e)
{
// all of the buttons within the row can cause this event handler to execute.
// Use the CommandName argument (populated by the CommandName property of the button that was clicked) in order to determine which button was clicked and take the appropriate action
switch (e.CommandName)
{
case "Edit":
// ...
break;
case "Update":
// ...
break;
case "Cancel":
// ...
break;
case "Delete":
// ...
break;
case "MyCommand":
// update your label using the command argument rather that the button's ToolTip
MyLabel.Text = e.CommandArgument.ToString();
TextBox txtInput1 = e.Item.FindControl("txtInput1") as TextBox;
TextBox txtInput2 = e.Item.FindControl("txtInput2") as TextBox;
string value1 = txtInput1.Text;
string value2 = txtInput2.Text;
// do something with the input values
break;
case "Do Something Crazy!":
// ...
break;
}
}
protected void Button1_Click1(object sender, EventArgs e)
{
Button myButton = (Button)sender;
Label5.Text = myButton.ToolTip;
}