点击后面的代码添加类属性到Master Page body标签 - vb.net

时间:2017-01-27 10:40:55

标签: html asp.net vb.net master-pages

当用户点击打开弹出窗口时,我想在主体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元素中。

1 个答案:

答案 0 :(得分:1)

问题是弹出窗口是用Ajax加载的。因此,没有完整的PostBack,因此身体类别不会改变。您需要在前端或后端使用JavaScript或jQuery设置bodyclass。

在后端你可以这样做

ScriptManager.RegisterStartupScript(Page, Page.GetType, "setBodyClass", "$('#MasterPageBodyTag').attr('class', 'cssBodyClass');", true)