Вопрос

У меня есть следующий код повторителя:

 <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%>'

Другие советы

Почему бы не получить выбранное значение и использовать его внутри функции команды?

(Зачем пытаться отправить его в качестве аргумента, с того момента, когда вы можете получить его в команде, называемой функцией и ее той же)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top