現在、そのリモートWebDataMenus
を使用してアイテムを動的に追加しています。フォームからアクセスしたり、定義された関数やロジックを実行するためのイベントをトリガーしたりします。
タイプイベントを介してVB.NETコードを実行したいときに問題が発生しItemClick
ます。このイベントは正しく機能していません。または、少なくともサーバー側で動作させることはできませんが (起動しません)、JavaScript を介してクライアント側でうまく動作します。
メニューの項目をクリックして実行すると、VB.NET コードで JavaScript エラーが発生することに注意してください。'__doPostBack' is undefined
これを機能させ、VB.NET コードからイベントを実行するにはどうすればよいですか?
PS: 今のところ機能させるためPageMethods.WebDataMenu2_ItemClick (eventArgs.getItem (). Get_key ());
にEnablePageMethods = True
、ScriptManager
.
ただし、これにより、実行したメソッドから他のコントロールを使用できなくなり、各コントロールで初期化エラーが発生します。
メニューとメニュー項目を追加します。
-コード HTML
<ig:webdatamenu ID="WebDataMenu2" runat="server" Font-Bold="False" Font-Names="Arial Narrow" Font-Overline="False" Font-Size="10px" Width="100%" > <GroupSettings Orientation="Horizontal" /> <ClientEvents ItemClick="WebDataMenu2_ItemClick" /> </ig:webdatamenu>
- メニューに項目を追加する VB.NET コード
ut = New Infragistics.Web.UI.NavigationControls.DataMenuItem ut.Text = ds.Tables(0).Rows(0).Item("x1").ToString() ut.ToolTip = ds.Tables(0).Rows(0).Item("x1").ToString() ut.Key = "0" ut.ImageUrl = "~/ImagesToolBar/employee20.gif" WebDataMenu2.Items.Add(ut) ut = New Infragistics.Web.UI.NavigationControls.DataMenuItem ut.Text = ds.Tables(0).Rows(0).Item("x2").ToString() ut.ToolTip = ds.Tables(0).Rows(0).Item("x2").ToString() ut.Key = "1" ut.ImageUrl = "~/ImagesToolBar/timecard20.gif" WebDataMenu2.Items.Add(ut)
現在、クライアント側のイベントを追加しています
function WebDataMenu2_ItemClick(sender, eventArgs) { if (eventArgs.getItem().get_key() != '') { alert('test2: ' + eventArgs.getItem().get_key()); } }
VB.NET でイベントをトリガーする VB.NET コード (ここでは、このメソッドの実行に失敗します)
Protected Sub WebDataMenu2_ItemClick1(sender As Object, e As Infragistics.Web.UI.NavigationControls.DataMenuItemEventArgs) Handles WebDataMenu2.ItemClick nodotext = e Select Case nodotext Case "0" Session("IT") = 2 Session("I") = 1 ident = Session("I") Case "1" Session("IT") = 2 Session("I") = 800 ident = Session("I") Case "2" Session("IT") = 2 Session("I") = 5 ident = Session("I") Case "3" Session("IT") = 2 Session("I") = 6 ident = Session("I") Case "7" Session("IT") = 2 Session("I") = 39 ident = Session("I") Case "8" Session("IT") = 2 Session("I") = 80 ident = Session("I") Case "4" Session("IT") = 2 Session("I") = 100 Session("RI") = 101 Case Else End Select Inicio() End Sub