场景
我想在不同页面上单击不同链接时显示 ajax 选项卡容器控件的特定选项卡。
澄清一下:链接位于 page1.aspx 上,ajax 选项卡容器位于 page2.aspx 上。
所有链接仅重定向到 page2.aspx。
但我需要根据上一页(page1.aspx)上点击的不同链接来显示不同的选项卡(在page2.aspx上)”。
我在寻找什么
我想我可以按照以下伪代码行做一些事情:
LinkButton lnk1 = (LinkButton)PreviousPage.FindControl("btnLink1");
if (lnk1.Click)
{
TabContainer1.ActiveTab = tab1;
}
想法是,如果单击某个链接,则应显示特定选项卡。
我会将其放入 page2.aspx 的 PageLoad 事件中。
如何实现服务器端(c#)?或者我是否需要一个客户端(Javascript)方法?
我尝试过的
我已尝试按照答案之一的建议使用 session 变量,但点击事件未触发。
以下是我如何在单击每个链接按钮时将变量存储在 page1.aspx 上。
protected void editPosition_Click(object sender, EventArgs e)
{
Session["LinkSelection"] = "lnkPosition";
}
protected void editRoom_Click(object sender, EventArgs e)
{
Session["LinkSelection"] = "lnkRoom";
}
然后在 PageLoad 上我对 page2.aspx 进行检查
if (Session["LinkSelection"].ToString() == "lnkPosition")
{
TabContainer1.ActiveTab = PositionsTab;
}
if (Session["LinkSelection"].ToString() == "lnkRoom")
{
TabContainer1.ActiveTab = RoomsTab;
}
链接的标记如下:
<asp:LinkButton ID="editPosition" runat="server" OnClick="editPosition_Click"
Text="Position" ClientIDMode="Static" ></asp:LinkButton>
<asp:LinkButton ID="editRoom" runat="server" Text="Room" OnClick="editRoom_Click"
ClientIDMode="Static" ></asp:LinkButton>
最终编辑
我通过使用查询字符串参数而不是 session 变量解决了我的问题。
最佳答案
我想,你必须尝试一下。
在 page1.aspx 中,当单击链接时,您必须在变量中设置链接选择值
protected void lnkUser_Click(object sender, EventArgs e)
{
Session["LinkSelection"] = "lnkUser";
}
protected void lnkCustomer_Click(object sender, EventArgs e)
{
Session["LinkSelection"] = "lnkCustomer";
}
位于 page2.aspx,位于 Page_Load
事件,您必须检查 session 变量值,然后基于该值,您必须在 Ajax 选项卡中显示 true/false
if (Session["LinkSelection"] == "lnkUser")
{
//put your User tab Active/Enabled logic here
}
else if (Session["LinkSelection"] == "lnkCustomer")
{
//put your Customer tab Active/Enabled logic here
}
除了使用 If else,您还可以使用 Switch Case。这是示例代码。
如果您不想使用 session 变量,则使用 page2.aspx 传递查询字符串中的值,例如 Response.Redirect("page2.aspx?LinkSelection=lnkUser")
。您还可以将加密的查询字符串发送到 page2,您可以在其中解密并处理
关于javascript - 根据单击的链接显示不同的选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26994934/