我正在尝试向我的网站添加一个基本开关,以便在静态布局和响应式布局之间切换。
我的页面底部有两个链接按钮:
<div id="toggleView">
<asp:linkbutton ID="lbtnMobile" runat="server" Visible="false">Switch to Mobile site</asp:linkbutton>
<asp:linkbutton ID="lbtnFull" runat="server" >Switch to Full site</asp:linkbutton>
</div>
它们都有一个非常相似的 OnClick 事件。
protected void lbtnFull_Click(object sender, EventArgs e)
{
c.ViewChange = true;
Session["Customer"] = c;
}
protected void lbtnMobile_Click(object sender, EventArgs e)
{
c.ViewChange = false;
Session["Customer"] = c;
}
事件应该在类文件 (User.vb) 中设置一个布尔值,在 true 或 false 之间,然后保存会话,在回发时 Page_Load 事件应该读取这个布尔值并使用它来调整 Viewport 元标记:
protected void Page_Load(object sender, System.EventArgs e)
{
//Other Stuff in here, irrelevant to current question
HtmlMeta view = new HtmlMeta();
view.Name = "viewport";
if (c.ViewChange = false)
{
view.Content = "width=device-width, initial-scale=1";
lbtnFull.Visible = true;
lbtnMobile.Visible = false;
}
else
{
view.Content = "width=1040px, initial-scale=1";
lbtnFull.Visible = false;
lbtnMobile.Visible = true;
}
MetaPlaceHolder.Controls.Add(view);
}
但是,当我单击“切换到完整站点”链接按钮时,页面将回发,但没有任何改变。回发是否以某种方式过早触发?