多视图控件
Multiview controls
我在使用 gridview 和 datalist 的地方为多视图编写了以下代码:
<ContentPlaceHolderID="ContentPlaceHolder1">
<div class="alert alert-success" >
<div class="divbtn" style="text-align:right">
<asp:LinkButton ID="gridbtn" runat="server" CssClass="glyphicon glyphicon-th" OnClick="gridbtn_Click"></asp:LinkButton>
<asp:LinkButton ID="listbtn" runat="server" CssClass="glyphicon glyphicon-th-list" OnClick="listbtn_Click"></asp:LinkButton>
</div>
</div>
<asp:MultiView runat="server" ID="multiview" ActiveViewIndex="0">
<asp:View runat="server" ID="gridview">
<uc1:GridControl runat="server" ID="GridControl"/>
</asp:View>
<asp:View runat="server" ID="listview">
<uc1:Listing runat="server" ID="Listing" />
</asp:View>
</asp:MultiView>
</asp:Content>
我正在使用两个 link 按钮通过如下触发两个单独的事件来调用它们各自的视图。
protected void listbtn_Click(object sender, EventArgs e)
{
multiview.ActiveViewIndex = 1;
}
protected void gridbtn_Click(object sender, EventArgs e)
{
multiview.ActiveViewIndex = 0;
}
假设,我的数据列表 (Index=1) 在我的页面上处于活动状态,如果有 post 返回,它应该仍显示数据列表,但在 post 返回时,它会自动切换回网格视图(索引=0)。我真的需要帮助!
您好,请在您的 page_load 活动中添加以下代码。
if(!Page.IsPostBack)
{
multiview.ActiveViewIndex=0;
}
您可以将索引保存到会话变量,然后在 post 上像这样读回它:
保存:
Session["index"] = index.ToString();
像这样在页面加载时阅读它:
Index = Session["index"];
您将需要会话变量来维护每个用户会话的状态。如果要维护应用程序的状态,则必须使用应用程序变量。
我认为您在每个 post 后将多视图的活动索引设置为零,如下所示
protected void Page_Load(object sender, EventArgs e)
{
multiview.ActiveViewIndex=0;
}
这将导致多视图在每个 post back.To 上将活动索引设置为 0 避免这种情况,您必须按以下方式设置它
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
multiview.ActiveViewIndex=0;
}
}
我在使用 gridview 和 datalist 的地方为多视图编写了以下代码:
<ContentPlaceHolderID="ContentPlaceHolder1">
<div class="alert alert-success" >
<div class="divbtn" style="text-align:right">
<asp:LinkButton ID="gridbtn" runat="server" CssClass="glyphicon glyphicon-th" OnClick="gridbtn_Click"></asp:LinkButton>
<asp:LinkButton ID="listbtn" runat="server" CssClass="glyphicon glyphicon-th-list" OnClick="listbtn_Click"></asp:LinkButton>
</div>
</div>
<asp:MultiView runat="server" ID="multiview" ActiveViewIndex="0">
<asp:View runat="server" ID="gridview">
<uc1:GridControl runat="server" ID="GridControl"/>
</asp:View>
<asp:View runat="server" ID="listview">
<uc1:Listing runat="server" ID="Listing" />
</asp:View>
</asp:MultiView>
</asp:Content>
我正在使用两个 link 按钮通过如下触发两个单独的事件来调用它们各自的视图。
protected void listbtn_Click(object sender, EventArgs e)
{
multiview.ActiveViewIndex = 1;
}
protected void gridbtn_Click(object sender, EventArgs e)
{
multiview.ActiveViewIndex = 0;
}
假设,我的数据列表 (Index=1) 在我的页面上处于活动状态,如果有 post 返回,它应该仍显示数据列表,但在 post 返回时,它会自动切换回网格视图(索引=0)。我真的需要帮助!
您好,请在您的 page_load 活动中添加以下代码。
if(!Page.IsPostBack)
{
multiview.ActiveViewIndex=0;
}
您可以将索引保存到会话变量,然后在 post 上像这样读回它:
保存:
Session["index"] = index.ToString();
像这样在页面加载时阅读它:
Index = Session["index"];
您将需要会话变量来维护每个用户会话的状态。如果要维护应用程序的状态,则必须使用应用程序变量。
我认为您在每个 post 后将多视图的活动索引设置为零,如下所示
protected void Page_Load(object sender, EventArgs e)
{
multiview.ActiveViewIndex=0;
}
这将导致多视图在每个 post back.To 上将活动索引设置为 0 避免这种情况,您必须按以下方式设置它
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
multiview.ActiveViewIndex=0;
}
}