如何在 asp.net 中创建多视图控件并在运行时对其进行操作

本文关键字:运行时 操作 控件 视图 asp net 创建 | 更新日期: 2023-09-27 18:17:11

示例:

<asp:MultiView
        id="MultiView1"
        ActiveViewIndex="1"
        Runat="server">
        <asp:View ID="View1" runat="server" >
            <iframe id="v1" runat="server" src='http://www.w3schools.com' style="border: None; height: 100%; width: 100%;"></iframe>
        </asp:View>        
        <asp:View ID="View2" runat="server">
            <iframe id="Iframe1" runat="server" src='http://www.w3schools.com/html/html5_intro.asp' style="border: None; height: 100%; width: 100%;"></iframe>
        </asp:View>        
        <asp:View ID="View3" runat="server">
            <br />This is the third view
            <br />This is the third view
            <br />This is the third view
            <br />This is the third view
        </asp:View>
        <asp:View ID="View4" runat="server">
            <br />This is the third view
            <br />This is the third view
            <br />This is the third view
            <br />This is the third view
        </asp:View>        
    </asp:MultiView>

关注:

  1. 如何在运行时创建此多视图结构?
  2. iframe有没有其他方法可以在多视图中使用?
  3. 我可以将一个多视图视图用于 2 个或更多菜单吗?
  4. 如何使用javascript或jquery引用和操作多视图?

请帮我解决这个问题。

谢谢!

如何在 asp.net 中创建多视图控件并在运行时对其进行操作

这个问题的答案类似于你的最后一个问题:如何显示/隐藏菜单项以及如何在运行时创建它?。您可能还需要查看此 MSDN 文章,了解有关以编程方式添加控件的讨论:http://msdn.microsoft.com/en-us/library/kyt0fzt1(v=vs.100(.aspx

下面是如何使用 View 控件动态填充 MultiView 控件的示例。

protected void Page_Init(object sender, EventArgs e)
{
    // Create View.
    View myView = new View();
    // Create controls.
    Label myLabel = new Label();
    myLabel.Text = "<b>Test</b>";
    // Add controls to View.
    myView.Controls.Add(myLabel);

    //Add view to MultiView.
    MultiView1.Views.Add(myView);
    MultiView1.ActiveViewIndex = 0;
}

上述逻辑与以编程方式向页面添加任何控件相同。

可以使用服务器端代码以相同的方式操作MultiView控件,方法是使用索引引用特定视图:

Label myLabel = new Label();
myLabel.Text = "<b>Test</b>";
MultiViewDemo.Views[0].Controls(myLabel);

然后,您应该能够像往常一样使用 jQuery 操作这些视图中的任何 HTML 元素。

MultiView中使用多个Menu控件取决于您的要求。

关于iframe,我不确定您会在替代方案中寻找什么,但是您应该能够使用服务器端代码操作iframe控件,因为您已将runat="server"属性添加到它们。