2

を含むリピーター コントロールがありLinkButtonます。コマンド引数を使用して、コード ビハインドで必要な機能を実行します。クリックした後に a の前景色を赤くしたいのですが、 でLinkButton別のものLinkButtonがクリックされた場合Repeater、前にクリックLinkButtonしたものを黒に、最近クリックしたものを赤にします。それ、どうやったら出来るの?これが私のコードです:

<asp:Repeater ID="Repeater1" runat="server">
    <HeaderTemplate>
        <ul>
    </HeaderTemplate>
    <ItemTemplate>
            <li>
                <asp:LinkButton ID="LinkButton1" runat="server" Text='<%#Eval("divisionlabel") %>'
                                OnCommand="LinkButton1_Command" CommandName="MyPendingApps" CommandArgument='<%#Eval("divisionid") %>'>
                </asp:LinkButton>
            </li>
    </ItemTemplate>
    <FooterTemplate>
            <li>
                <asp:LinkButton ID="LinkButton_InsReqList" runat="server" OnCommand="LinkButton_InsReqList_Command"
                                CommandName="InspectionRequests">Inspection Requests List</asp:LinkButton>
            </li>
        </ul>
    </FooterTemplate>
</asp:Repeater>
4

2 に答える 2

1

OnClick="LinkButtons_Click"フォームのすべてのリンクボタンにa を追加します

<asp:Repeater ID="Repeater1" runat="server">
    <HeaderTemplate>
        <ul>
    </HeaderTemplate>
    <ItemTemplate>
            <li>
                <asp:LinkButton ID="LinkButton1" runat="server" Text='<%#Eval("divisionlabel") %>'
                                OnCommand="LinkButton1_Command" CommandName="MyPendingApps" CommandArgument='<%#Eval("divisionid") %>' OnClick="LinkButtons_Click">
                </asp:LinkButton>
            </li>
    </ItemTemplate>
    <FooterTemplate>
            <li>
                <asp:LinkButton ID="LinkButton_InsReqList" runat="server" OnCommand="LinkButton_InsReqList_Command"
                                CommandName="InspectionRequests" OnClick="LinkButtons_Click">Inspection Requests List</asp:LinkButton>
            </li>
        </ul>
    </FooterTemplate>
</asp:Repeater>

その関数のコードは次のとおりです。

protected void LinkButtons_Click(object sender, EventArgs e)
{
    LinkButton link=(LinkButton)sender;
    if (link.ID == "yourDesiredID1")
    {
           link.ForeColor=System.Drawing.Color.Red; 
    }
    else
    {
           link.ForeColor=System.Drawing.Color.YourDefaultdColor; 
    }
    if (link.ID == "yourDesiredID2")
    {
           link.ForeColor=System.Drawing.Color.Yellow; 
    }
    else
    {
           link.ForeColor=System.Drawing.Color.YourDefaultColor; 
    }
    if (link.ID == "yourDesiredID3")
    {
           link.ForeColor=System.Drawing.Color.Blue; 
    }
    else
    {
           link.ForeColor=System.Drawing.Color.YourDefaultColor; 
    }
}
于 2012-11-25T16:23:41.983 に答える
0

ItemCommand イベント サーバー側からの一意の識別子 (値、Id、ItemIndex など) を ViewState に格納し、ItemDataBound イベントで、一意の識別子が ViewState の値と等しいかどうかを確認します。製本を続けない場合は、テキストの色を赤にします。

明らかに、ここには考えなければならないいくつかの問題がありますが、それが始まりです。

于 2012-11-22T16:05:56.177 に答える