私はデータ入力用の社内ツールに取り組んでいます。ASP ページには、以前に入力したすべての項目の完全なリストが表示されます。上部には新しいジョブを入力するためのボタンがあり、理論上はモーダル ポップアップが表示されます。新しいジョブに使用されるパネルは、既存のジョブを変更するときにも使用されますが、ポップアップは一意のModalPopupExtender
インスタンスで呼び出されます。
Update ModalPopupExtender を呼び出すと、そのジョブの詳細をコントロールに自動的に入力するなど、パネルが正しく表示されます。ただし、[新しいジョブ] ボタンではパネルが表示されません。
自動制御 (AJAX ツールキットに組み込まれています)、.show および .hide メソッドを使用したバックエンドでのポップアップの手動制御、および必要なパネルを見つけてポップアップする Javascript クライアント スクリプトの使用を試みました。これらのすべてのケースで、ジョブのリストは灰色のレイヤーの後ろに隠されていますが、パネルは非表示のままです。
私は何が欠けていますか?
ASPX コード:
<asp:Button runat = "server" ID = "btnNewJobDummy" CssClass = "invisible" />
<asp:ModalPopupExtender ID="mpeNewJob" runat="server" TargetControlID = "btnNewJobDummy" PopupControlID = "pnlJobEntry" BackgroundCssClass = "modalBackground" />
コードビハインド:
Private Sub btnNewJob_Click(sender As Object, e As System.EventArgs) Handles btnNewJob.Click
Session("Mode") = "Add"
Session("TagMode") = "NewJob"
tbAddDate.Text = DateTime.Today.ToShortDateString
imgFeaturedPhoto.ImageUrl = "~/JobImages/not-available.jpg"
tbAddCenterStoneQty.Text = "1"
Dim dtCenterStone As New DataTable
Dim dtImages As New DataTable
Session("CenterStones") = Nothing
dtCenterStone = Session("CenterStones")
gvCenterStones.DataSource = dtCenterStone
gvCenterStones.DataBind()
gvCenterStonesEdit.DataSource = dtCenterStone
gvCenterStonesEdit.DataBind()
Session("Images") = Nothing
dtImages = Session("Images")
lvPhotoGallery.DataSource = dtImages
lvPhotoGallery.DataBind()
'lvPhotoGallery.FindControl("btnMakeDefault").Visible = False
ddlAddCenterStoneSource.SelectedValue = "2"
'btnJobEntryCancel.Visible = False
btnJobEntryCancel.CssClass = "invisible"
'btnNewJobCancel.Visible = True
btnNewJobCancel.CssClass = "visible"
ResetTagPanel()
Session("mpeNewJob") = "show"
ShowModalPopups("mpeNewJob", "show")
'mpeNewJob.Show()
End Sub