我正在开发用于数据输入的公司内部工具。ASP 页显示以前输入的所有项目的完整列表。顶部是一个输入新工作的按钮,理论上会弹出一个模式弹出窗口。用于新作业的面板也用于修改现有作业时,但使用唯一ModalPopupExtender
实例调用弹出窗口。
调用 Update ModalPopupExtender 时,面板会正确显示,包括使用该作业的详细信息自动填充控件。但是,新建作业按钮不显示面板。
我尝试使用自动控制(内置在 AJAX 工具包中),使用 .show 和 .hide 方法手动控制后端弹出窗口,并使用应该找到并弹出所需面板的 Javascript 客户端脚本。在所有这些情况下,作业列表都隐藏在一层灰色之后,但面板仍然隐藏。
我错过了什么?
ASP 代码:
<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