У меня есть TextBox
:Поиск ImageButton в Repeater
<asp:TextBox ID="textSearch" runat="server" Width="80" ForeColor="Black" />
и Repeater
с ImageButtons
:
<asp:Panel ID="panRepeater" runat="server" ScrollBars="Vertical">
<asp:Repeater ID="Repeater" runat="server">
<ItemTemplate>
<asp:ImageButton ID="imgSearchResult" runat="server" ImageUrl='<%# Eval("ImageUrl") %>'/>
</ItemTemplate>
</asp:Repeater>
</asp:Panel>
В коде позади, я добавить изображения к ImageButtons
с помощью этой функции:
private void LoadImages()
{
string[] filesindirectory = Directory.GetFiles(Server.MapPath("~/Images/ORAS"));
List<System.Web.UI.WebControls.Image> images = new List<System.Web.UI.WebControls.Image>(filesindirectory.Count());
foreach (string item in filesindirectory)
{
System.Web.UI.WebControls.Image image = new System.Web.UI.WebControls.Image();
image.ImageUrl = (String.Format("~/Images/ORAS/{0}", System.IO.Path.GetFileName(item)));
images.Add(image);
}
Repeater.DataSource = images;
Repeater.DataBind();
}
Я хочу иметь возможность использовать арки и отображать только хотел ImageButtons
аналогично этому примеру:
Я напечатал бы в 00
в Search-TextBox
и все ImageButtons
, которые содержат 00
будут показаны. Дело в том, что я должен был бы сделать это после каждого KeyDown
.
Я не думаю, что вы можете сделать это на серверных событиях. «TextBox» - это серверный элемент управления, а «OnTextChanged» - событие на стороне сервера. Для этого было бы лучше использовать JavaScript. –
@ пользователь2946329 посмотрю. Каков наилучший подход для этого в JavaScript? – Kohnarik
Вот очень простой пример того, как с помощью JavaScript можно получить 'TextBox'' Text' на 'onkeydown' событии' TextBox'. Затем вы можете сделать больше логики для фильтрации вашего 'Repeater' на основе заданного значения TextBox. Http: // StackOverflow.com/a/34434842/2946329 –