Se deben llamar dos funciones en el componente blazor cuando hago clic en el botón. Probé con coma, punto y coma y paréntesis. Nada funciona.
<div class="col-md-auto"><button type="button" class="btn btn-light btn-sm" @onclick="@SearchTable"@*call two methods SearchTable and SortTable*@>Search</button></div>Las dos funciones se dan a continuación.
@functions{ public void SearchTable() { foreach (KeyValuePair<int, SearchCriteria> entry in SearchCritRefs) { entry.Value.setSearchCriteria(entry.Key); } } public void SortTable() { foreach (KeyValuePair<int, SortCriteria> entry in SortCritRefs) { entry.Value.setSortCriteria(entry.Key); } } }Haz algo como esto:
<div class="col-md-auto"><button type="button" class="btn btn-light btn-sm" @onclick="@(() => { SearchTable(); SortTable(); })">Search</button></div> <div>@message1</div> <div>@message2</div> @code{ private string message1; private string message2; public void SearchTable() { message1 = "SearchTable"; } public void SortTable() { message2 = "SortTable"; } }Nota: le mostré cómo llamar a dos métodos cuando se activa el evento de clic, ya que esta es su pregunta. Si es inteligente codificar así, es algo completamente diferente.
Adoptaría el enfoque de llamar a una sola función que luego puede llamar a tantas funciones posteriores como sea necesario.
<button type="button" class="btn btn-light btn-sm" @onclick="@PerformSearch">Search</button> @code{ public void PerformSearch() { SearchTable(); SortTable(); } public void SearchTable() { foreach (KeyValuePair<int, SearchCriteria> entry in SearchCritRefs) { entry.Value.setSearchCriteria(entry.Key); } } public void SortTable() { foreach (KeyValuePair<int, SortCriteria> entry in SortCritRefs) { entry.Value.setSortCriteria(entry.Key); } } }