0

私は比喩的にこれに私の髪を引っ張っています...

onclickイベントからトリガーされるコードビヒングページのサブルーチンにテキストを取り込みたいラベルを含むテンプレートフィールドを持つグリッドビューがあります。(とにかく、それが最も簡単な説明です)。

コード ビハインド ページで Label フィールドを呼び出して、サブルーチン内の変数に適用するにはどうすればよいですか?

onclick イベントをトリガーしている AddThis インスタンスのコードも含まれているテンプレート フィールドのコードを次に示します。

<asp:TemplateField HeaderText="Share Tune" Visible="True">
        <ItemTemplate>
        <!-- AddThis Button BEGIN -->
<div class="addthis_toolbox addthis_default_style " addthis:url='<%# DataBinder.Eval(Container, "DataItem.Link_Code") %>' addthis:title='"<%# DataBinder.Eval(Container, "DataItem.Link_Title") %>" by <%=aname%>'>
<a class="addthis_button_facebook"></a>
<a class="addthis_button_twitter"></a>
<a class="addthis_button_google_plusone" <%= UpDate_GPlus1_Code() %>></a>
<a class="addthis_button_email"></a>
<a class="addthis_button_compact"></a>
<a class="addthis_counter addthis_bubble_style"></a>
<asp:Label id="share_buts" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Key") %>' Visible="False" />
</div>
<script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js#pubid=ra-4e5d090e454e4ddf"></script>
<!-- AddThis Button END -->
        </ItemTemplate>
    </asp:TemplateField>

onclick サブルーチンは次のようになります。

 Protected Sub addthis_but_Click(lnkid As String, shmtd As String)

    Dim db As String
    Dim shdate As DateTime
    Dim uid As String

    shdate = DateAndTime.Now.ToString
    uid = Membership.GetUser.UserName
    Label lbl = GridView1.Rows[0].FindControl("share_buts") as Label;
    shmtd = ""

以下のコメントで説明されているように、これによりエラーがスローされます。変数に "" を使用すると機能するため、サブの残りの部分は問題ありません。しかし、明らかに、変数に値を設定したいと考えています。

4

1 に答える 1

1

列をデータキーとして追加して、そのように参照する方が簡単だと思います。ただし、次のようにラベルを取得できるはずです。

EDIT:ダイレクトキャストに変更

Label lbl = (Label)GridView1.Rows[0].FindControl("share_buts");
于 2011-08-31T19:06:14.930 に答える