Ретранслятор asp.net с usercontrol - установка командного аргумента - PullRequest
1 голос
/ 30 октября 2010

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

 <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 выглядит так:

<%@ 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.SelectedValue в качестве CommandArgument?

Только сейчас это пустая строка.

Спасибо

Дункан

PS Это связано с Ретранслятор ASP.NET не привязывается после ItemCommand но я думал, что два достаточно различны, чтобы держаться друг от друга.

Ответы [ 2 ]

2 голосов
/ 22 сентября 2011

Немного старый вопрос, но я сам нашел ответ на этот вопрос.

CommandArgument="<%#dropdownMain.SelectedValue%>"

Вместо этого нужно выглядеть одинарными кавычками! Все встроенные коды в элементах управления asp.net должны быть выполнены таким образом.

CommandArgument='<%#dropdownMain.SelectedValue%>'
0 голосов
/ 30 октября 2010

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

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

...