Repeater ASP.NET с USERCONTROL - Установка коммунатора
-
27-09-2019 - |
Вопрос
У меня есть следующий код повторителя:
<asp:Repeater ID="repMain" runat="server" OnItemCommand="repMain_ItemCommand" EnableViewState="false">
<ItemTemplate>
<dmg:testcontrol runat="server" MyData=<%#Container.DataItem %>>
</dmg:testcontrol>
</ItemTemplate>
</asp:Repeater>
TestControl Usercontrol выглядит как:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="TestControl.ascx.cs" Inherits="TestRepeater.TestControl" %>
<asp:Literal runat="server" ID="litMain" Text="<%#MyData.MyValue %>"></asp:Literal>
<asp:DropDownList runat="server" ID="dropdownMain"></asp:DropDownList>
<asp:Button runat="server" ID="btnMain" Text="Click Me" CommandName="Update" CommandArgument="<%#dropdownMain.SelectedValue%>"/>
Может ли я отправить через DropDownmain. Сентированновала в качестве благосостояния?
Только сейчас это пустая строка.
Спасибо
Дункан
PS Это связано с Repeater asp.net не привязка после entercommand Но я думал, что два достаточно отличаются, чтобы сохранить.
Решение
Немного старый вопрос, но я только что я сам нашел ответ на этот.
CommandArgument="<%#dropdownMain.SelectedValue%>"
Нужно выглядеть так, как это вместо одного цитата! Все встроенные коды в элементах управления ASP.NET должны быть выполнены таким образом.
CommandArgument='<%#dropdownMain.SelectedValue%>'
Другие советы
Почему бы не получить выбранное значение и использовать его внутри функции команды?
(Зачем пытаться отправить его в качестве аргумента, с того момента, когда вы можете получить его в команде, называемой функцией и ее той же)