【发布时间】:2021-03-31 02:15:53
【问题描述】:
我正在尝试向我的网站添加一个基本开关,以便在静态布局和响应式布局之间切换。
我的页面底部有两个链接按钮:
<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)中设置一个布尔值,在真或假之间,然后保存会话,在回发时 Page_Load 事件应该读取这个布尔值并使用它来调整视口元标记:
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);
}
但是,当我单击“切换到完整站点”链接按钮时,页面将回发,但没有任何改变。回发是否以某种方式过早触发?
【问题讨论】:
-
你的事件绑定到链接按钮在哪里?
-
在 Page_Load 页面将检查我的 User.vb 类文件中的布尔变量,它应该显示适当的链接按钮,同时隐藏另一个(显示在 Page_Load 事件中),并且每个链接按钮都有一个单击应该更改布尔值然后刷新页面的事件。我不确定我需要在哪里添加额外的绑定?
-
我认为@Hakunamatata 的意思是他没有在您的标记中看到 OnClick="lbtnFull_Click" ,这通常是声明事件绑定的地方。通过在您的事件处理程序中放置一个断点来仔细检查这一点,然后查看它是否在您单击按钮时中断。
-
您是否尝试在这些事件处理程序期间检查任何断点以确保其是否被调用?
标签: c# asp.net asplinkbutton