DOBON.NET DOBON.NETプログラミング掲示板過去ログ

ASP.NET イベントの追加

分類:[ASP.NET]

いつも参考にさせてもらってます。

今回APS.NETでプログラムを作成することになったのですが行き詰ってて困ってます

データの検索画面で検索条件からデータを検索して一覧表示し、そのデータの番号をクリックすると内訳を表示するようにしたいのです。

データを検索して一覧表示するとこまでは出来たのですがデータの一覧を作成した時に、「番号をクリックしたら明細を表示する」処理をクリックイベントで追加しているのですがイベントが発生してくれません
ASP.NETははじめたばかりで申し訳ありませんが教えてください

開発環境:Visual Stadio 2008


検索結果の一覧を作成
' 行追加
tRow = New TableRow
tRow.ID = iCnt.ToString

tCell = New TableCell
With tCell
Dim lbnCd As New System.Web.UI.WebControls.LinkButton

iCnt += 1
lbnCd.ID = "LINK" & iCnt.ToString

// ここでイベントを追加しているがイベントが発生しない
AddHandler lbnCd.Click, New System.EventHandler(AddressOf lbnCd_Click)

lbnCd.Text = myRow(0)
lbnCd.ForeColor = Drawing.Color.Blue
lbnCd.Attributes("clss") = "MeisaiBody"
lbnCd.Width = 40
.Controls.Add(lbnCd)
.Width = 50

End With
tRow.Cells.Add(tCell)

発生先のイベント
Private Sub lbnCd_Click(ByVal sender As Object, ByVal e As System.EventArgs)

Dim strId As String = sender.id

' キーをセッションに追加
Session("user_name") = strId
'画面遷移(PopUp)
ClientScript.RegisterStartupScript(Me.GetType(), _
"TekitouNaKey", _
"<script type='text/javascript'>top.sita.location.reload()</script>")
End Sub

詳細の表示するところは別フレームになっていて再描画の時にセッションの内容でデータを検索するようにしています
私のPCでは、あかいぬ さんのコードそのままで、クリックイベントが発生しました。
以下のコードで試してみてください。
# もし外れていたらすみません。m(_ _)m
  
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="ClickEventTest.aspx.vb" Inherits="ClickEventTest" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>無題のページ</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Table ID="Table1" runat="server">
        </asp:Table>
    </div>
    </form>
</body>
</html>
 
Partial Class ClickEventTest
    Inherits System.Web.UI.Page
    Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
        MyBase.OnLoad(e)
        Dim iCnt As Integer = 0
        Dim trow As TableRow
        Dim tcell As TableCell
        Do While iCnt <= 9
            ' 行追加
            trow = New TableRow
            trow.ID = iCnt.ToString
            tcell = New TableCell
            With tcell
                Dim lbnCd As New System.Web.UI.WebControls.LinkButton
                iCnt += 1
                lbnCd.ID = "LINK" & iCnt.ToString
                ' ここでイベントを追加
                AddHandler lbnCd.Click, New System.EventHandler(AddressOf lbnCd_Click)
                lbnCd.Text = "Click!! LINK" & iCnt.ToString
                lbnCd.ForeColor = Drawing.Color.Blue
                lbnCd.Attributes("clss") = "MeisaiBody"
                lbnCd.Width = 40
                .Controls.Add(lbnCd)
                .Width = 50
            End With
            trow.Cells.Add(tcell)
            Me.Table1.Rows.Add(trow)
        Loop
    End Sub
    Private Sub lbnCd_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        Dim strId As String = DirectCast(sender, LinkButton).ID
        MsgBox(strId + "をクリック")
    End Sub
End Class
すいません、返事が遅くなりましたが解決できました
どうもありがとうございました
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板