ASP.NET C#-正在从Repeater中检索HTML按钮
本文关键字:检索 HTML 按钮 Repeater NET C#- ASP | 更新日期: 2023-09-27 18:28:54
我有一个中继器,其中包含两个按钮。其中一个按钮是ASP.NET按钮,而另一个按钮的类型为"input type="button"。
现在,在我的代码中,我想从中继器中检索这两个按钮,以隐藏或显示它们。我已经成功地隐藏了ASP.NET按钮,但是我不知道如何检索其他按钮。
以下是ASP.NET中的一些代码:
<input type="button" name="ButtonEditUpdate" runat="server" value="Edit Update" class="ButtonEditUpdate" />
<asp:Button ID="ButtonDeleteUpdate" CssClass="ButtonDeleteUpdate" CommandName="Delete" runat="server" Text="Delete Update" />
这是背后的代码:
protected void RepeaterUpdates_ItemBinding(object source, RepeaterItemEventArgs e)
{
RepeaterItem item = e.Item;
TextBox Update_ID = (TextBox)item.FindControl("TextBoxUpdateID_Repeater");
//Button Edit_Update = (Button)item.FindControl("ButtonEditUpdate");
Button Delete_Update = (Button)item.FindControl("ButtonDeleteUpdate");
if (Social_ID == String.Empty)
{
//Edit_Update.Visible = false;
Delete_Update.Visible = false;
}
}
如何检索HTML按钮并将其隐藏,因为它不是ASP.NET按钮?
该按钮是一个HTML控件,类型为System.Web.UI.HtmlControls.HtmlButton
System.Web.UI.HtmlControls.HtmlButton button = item.FindControl("ButtonEditUpdate") as System.Web.UI.HtmlControls.HtmlButton;
if(button!=null)
button.Visible = false;
通常,您不能直接检索一个普通的旧HTML按钮,因为ASP.NET将其视为文本标记的一部分。幸运的是,您已经添加了runat="server"
,使您的按钮成为服务器控件。
最简单的方法是使用HtmlButton
控件。但在标记中,您需要id
属性
<input type="button" name="ButtonEditUpdate" runat="server" value="Edit Update" class="ButtonEditUpdate" id="ButtonEditUpdate" />
然后在后面的代码中
//Button Edit_Update = (Button)item.FindControl("ButtonEditUpdate");
HtmlButton Delete_Update = (HtmlButton)item.FindControl("ButtonEditUpdate");
如果你只想设置可见性,就不需要投射它。
var myButton = e.Item.FindControl("ButtonEditUpdate");
if(myButton != null)
myButton.Visible = false;
编辑:您应该给您的按钮一个ID。