質問

次のリピーターコードがあります。

 <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.SelectedValueをCommandArgumentとして送信することは可能ですか?

ちょうど今それは空の文字列です。

ありがとう

ダンカン

PSこれはに関連しています ASP.NETリピーターItemCommand後にバインディングしない しかし、私は2つがバラバラになるのに十分に異なると思いました。

役に立ちましたか?

解決

少し古い質問ですが、私はこれに対する答えを見つけました。

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

代わりに、単一の引用でこのように見える必要があります!代わりに、ASP.NETコントロール内のすべてのインラインコードをこの方法で実行する必要があります。

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

他のヒント

選択した値を取得して、コマンド関数内で使用してみませんか?

(なぜそれを議論として送ろうとするのですか、あなたはそれをfunctionと呼ばれるコマンドの中に入れることができます、そしてそれは同じです)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top