USERCONTROLを備えたASP.NETリピーター-CommandArgumentの設定
-
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.SelectedValueをCommandArgumentとして送信することは可能ですか?
ちょうど今それは空の文字列です。
ありがとう
ダンカン
PSこれはに関連しています ASP.NETリピーターItemCommand後にバインディングしない しかし、私は2つがバラバラになるのに十分に異なると思いました。
解決
少し古い質問ですが、私はこれに対する答えを見つけました。
CommandArgument="<%#dropdownMain.SelectedValue%>"
代わりに、単一の引用でこのように見える必要があります!代わりに、ASP.NETコントロール内のすべてのインラインコードをこの方法で実行する必要があります。
CommandArgument='<%#dropdownMain.SelectedValue%>'
他のヒント
選択した値を取得して、コマンド関数内で使用してみませんか?
(なぜそれを議論として送ろうとするのですか、あなたはそれをfunctionと呼ばれるコマンドの中に入れることができます、そしてそれは同じです)
所属していません StackOverflow