将html锚文本作为参数发送到onclick func.c#
本文关键字:onclick func 参数 html 文本 | 更新日期: 2023-09-27 17:59:10
我一直在尝试向onclick func发送一个参数。看看我的代码,那里有一个foreach。这是用于创建与<li>
相关的数据库。此项目来自数据库。我想在点击删除按钮时再次使用它。它必须来自按钮<li>
的锚点。也可能是来自foreach,我不知道。问题:我不知道如何将该字符串(Item)发送到我的onclick函数。
<div id="depListId" class="panel">
<ul id="depUl" class="list-group" runat="server">
<% foreach (var Item in dep) { %>
<li class="list-group-item"><a><%= Item %></a><asp:Button runat="server" class="deleteButton" CommandArgument='<%# Eval(??HERE??)%>' OnCommand="delete_button" Text="Delete" /></li>
<% } %>
</ul>
</div>
您可以使用中继器控制:
.ASPX:
<div id="depListId" class="panel">
<ul id="depUl" class="list-group" runat="server">
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<li class="list-group-item">
<a><%# Container.DataItem.ToString() %></a>
<asp:Button runat="server" class="deleteButton"
CommandArgument='<%# Container.DataItem.ToString() %>'
OnCommand="delete_button"
Text="Delete" />
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
</div>
代码隐藏:
public List<string> dep { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
dep = new List<string> { "Item 1", "Item 2", "Item 3" };
Repeater1.DataSource = dep;
Repeater1.DataBind();
}
}
protected void delete_button(object sender, CommandEventArgs e)
{
string text = e.CommandArgument.ToString();
}
服务器onclick方法中的第一个参数是按钮控件(对象发送方),因此将其转换为按钮和属性的akshttps://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button.onclick(v=vs.110).aspx