Sanjeewa Abeywardana Ответов: 1

Asp:listview set selectmethod с методом, имеющим параметр


У меня есть такие элементы управления Listview

<asp:ListView ID="categoryList" ItemType="CodeCamper.EntityLayer.Transaction.FavoriteVO" DataKeyNames="FavoriteID" GroupItemCount="1" SelectMethod="GetCategories" runat="server">                      
</asp:ListView>


и в коде позади я устанавливаю свойство SelectMethod

categoryList.SelectMethod = "GetbyTime"


Теперь, если я хочу вызвать параметризованный метод

public List<FavoriteVO> GetbyTime(string message)
        {
           
        }


Как я должен изменить и назначить categoryList.SelectMethod = section ?

Что я уже пробовал:

<asp:ListView ID="categoryList" ItemType="CodeCamper.EntityLayer.Transaction.FavoriteVO" DataKeyNames="FavoriteID" GroupItemCount="1" SelectMethod="GetCategories" runat="server">                      
</asp:ListView>


categoryList.SelectMethod = "GetbyTime"


public List<FavoriteVO> GetbyTime(string message)
        {
           
        }


<ul class="nav nav-pills nav-stacked">
                      <asp:Repeater ID="SessionVORepeater" runat="server" OnItemCommand="SessionVORepeater_ItemCommand">
                           <ItemTemplate>
                               <li class="active">
                                   <%--<a href="#" runat="server" onserverclick="MyFuncion_Click" CommandName="ViewPDF" ><%# DataBinder.Eval(Container.DataItem, "SessionTimeSlot") %></a>--%>
                                    <asp:Button ID="Button1" class="btn btn-primary" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "SessionTimeSlot") %>' CommandName="ViewDetails" CommandArgument='<%#DataBinder.Eval(Container.DataItem,"SessionTimeSlot") %>' OnClick="MyFuncion_Click"/>
                               </li>
                           </ItemTemplate>
                       </asp:Repeater>
                      <%-- <li class="active"><a href="#">Home</a></li>
                        <li class="active"><a href="#">sfsfs</a></li>--%>
                   </ul>


protected void MyFuncion_Click(object sender, EventArgs e)
        {
             Button btn = (Button) sender;
             RepeaterItem item = (RepeaterItem) btn.NamingContainer;
             Button btnNewNumber0 = (Button)item.FindControl("Button1");
             System.Web.HttpContext.Current.Response.Write("");

             categoryList.SelectMethod = "GetbyTime";
        }

Karthik_Mahalingam

попробуйте жестко закодировать какое-нибудь значение и проверьте

1 Ответов

Рейтинг:
0

Vincent Maverick Durano

Похоже, вы использовали привязки моделей. Согласно документации здесь: Упражнение 1: привязка модели в ASP.NET веб-формы[^]

В параметре method можно использовать атрибуты поставщика значений для указания источника данных значения. Например:

Элементы управления на странице
Строковые значения запроса
Просматривать данные
Состояние сеанса
Cookies
Передачи данных
Состояние представления
Также поддерживаются пользовательские поставщики значений

Так, например, вы хотите передать параметр вашему методу Select для фильтрации результата на основе управляющего значения, вы можете сделать что-то вроде:

public List<favoritevo> GetbyTime([Control]string TextBox1)
{
            //your code logic here
}


[no name]

Я обновил свой исходный код, пожалуйста, обратитесь к нему, но все равно GetbyTime([System.Web.ModelBinding.Управления (кнопка"")] строковое сообщение){} строка сообщения имеет значение null

Vincent Maverick Durano

насколько я знаю, вам нужно использовать идентификатор элемента управления в качестве имени параметра при использовании элемента управления в качестве поставщика значений. Пожалуйста, внимательно прочтите документы.