当用户点击打开弹出窗口时,我想在主体HTML标记中添加一个类,以防止滚动背景。弹出窗口位于内容页面中。我已将runat服务器添加到main.Master页面上的body标签:
<body runat="server" id="MasterPageBodyTag">
在我的内容页面后面的代码中,我有以下内容:
Protected Sub lnkShowNotes_Click(sender As Object, e As EventArgs) Handles lnkShowNotes.Click
mvwNotes.SetActiveView(vwNoteList)
mdlNotesPopup.Show()
Dim body As HtmlControl = Master.FindControl("MasterPageBodyTag")
body.Attributes.Add("class", "cssBodyClass")
End Sub
当我调试时,我可以在结果视图中看到该类存在于属性中,但是在页面上,该类没有被添加到body元素中。
答案 0 :(得分:1)
问题是弹出窗口是用Ajax加载的。因此,没有完整的PostBack,因此身体类别不会改变。您需要在前端或后端使用JavaScript或jQuery设置bodyclass。
在后端你可以这样做
ScriptManager.RegisterStartupScript(Page, Page.GetType, "setBodyClass", "$('#MasterPageBodyTag').attr('class', 'cssBodyClass');", true)