■77454 / ) |
Re[2]: ASP.NET SiteMapPathコントロールについて |
□投稿者/ Ante (2回)-(2015/10/21(Wed) 12:55:33)
|
WebSurfer さん
ご回答ありがとうございます。
端的に言うとサイトマップパスコントロールがクリックされたら、
サーバー側のイベントでセッションを破棄したかっただけです。
大人しく動的コントロールを生成することでイベントを拾い解決することにしました。
◆aspx
<asp:Panel ID="pnlSiteMap" runat="server">
</asp:Panel>
◆aspx.vb
''' <summary>
''' サイトマップを生成する
''' </summary>
''' <param name="dt">生成元データテーブル</param>
''' <remarks></remarks>
Private Sub CreateSiteMaps(ByVal dt As DataTable)
Me.pnlSiteMap.Controls.Clear()
Dim lastIndex As Integer = dt.Rows.Count - 1
Dim st As System.Text.StringBuilder
For i As Integer = 0 To dt.Rows.Count - 1
MyLinkBtn = New LinkButton
MyLinkBtn.ID = "btn_" & i
MyLinkBtn.Text = dt.Rows(i).Item("NAME")
'MyLinkBtn.PostBackUrl = dt.Rows(i).Item("URL")
MyLinkBtn.Enabled = dt.Rows(i).Item("ENABLED")
MyLinkBtn.ToolTip = dt.Rows(i).Item("NAME")
'◆イベント追加
AddHandler MyLinkBtn.Click, AddressOf siteMap_Click
Me.pnlSiteMap.Controls.Add(MyLinkBtn)
If i <> lastIndex Then
st = New System.Text.StringBuilder
st.AppendLine("<span> > </span>")
MyWkTag = New Label
MyWkTag.Text = st.ToString
Me.pnlSiteMap.Controls.Add(MyWkTag)
End If
Next
End Sub
''' <summary>
''' サイトマップパスクリックイベント
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Protected Sub siteMap_Click(sender As Object, e As EventArgs)
Session(mdlGlobal.gcSessDispParam) = Nothing
Dim key As String = DirectCast(sender, LinkButton).Text
Dim nextUrl As String = GetSiteMapValue(key)
Call Response.Redirect(nextUrl)
End Sub
|
解決済み
|