gpt4 book ai didi

asp.net - 在 ASP.net MultiView 的不同 View 中使用相同的控件实例

转载 作者:行者123 更新时间:2023-12-02 18:00:51 25 4
gpt4 key购买 nike

我有一个带有两个 View 和两个用户控件的 asp:MultiView 控件。在第一个 View 中,我想将每个控件放在 ASPxTabControl 的不同选项卡中。在第二个 View 中,我想连续显示两个控件,一个接一个。

当我在 View 之间切换时,如何才能在每个 View 中使用/看到具有完全相同 View 状态的相同控件实例?

或者有没有更好的方法来代替使用 MutliView?

提前非常感谢您的回复。

干杯

最佳答案

在您的 ASPX 页面上尝试一下:

    <asp:MultiView ID="mvTest" ActiveViewIndex="0" runat="server">
<asp:View ID="vwFirst" runat="server">
<asp:PlaceHolder ID="phFirstContainer" runat="server" ></asp:PlaceHolder>
</asp:View>
<asp:View ID="vwSecond" runat="server">
<asp:PlaceHolder ID="phSecondContainer" runat="server" ></asp:PlaceHolder>
</asp:View>
</asp:MultiView>
<asp:Button runat="server" ID="btnSwitchViews" Text="Switch Views" OnClick="btnSwitchViews_Click"/>

这在您的 ASPX.CS 代码隐藏页面上:

    protected void Page_PreRender(object sender, EventArgs e)
{
var myControl = new Label() {ID = "MyTextControl"};

if (mvTest.GetActiveView().ID == "vwFirst")
{
myControl.Text = "I'm the same controller on the first view";
phFirstContainer.Controls.Add(myControl);
}
else if(mvTest.GetActiveView().ID == "vwSecond")
{
myControl.Text = "I'm the same controller on the second view";
phSecondContainer.Controls.Add(myControl);
}
}

protected void btnSwitchViews_Click(object sender, EventArgs e)
{
mvTest.ActiveViewIndex = mvTest.ActiveViewIndex == 0 ? 1 : 0;
}

为了简单起见,我使用 ASP.NET 标签,但是您可以通过使用相关用户控件的类型以编程方式实例化用户控件来轻松使用该用户控件。

关于asp.net - 在 ASP.net MultiView 的不同 View 中使用相同的控件实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9531883/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com