我正在C#中創建一個應用程序。我創建了一個有5個鏈接的頁面。每個鏈接打開一個不同的頁面,其中有一個GridView
。單頁上的多個GridViews
我可以做一個網頁上的所有這些網格 - 即當我點擊link1
,那麼只有對應於該鏈接的電網將出現在頁面上,當我點擊link2
,那麼只有網格link2
出現?只有激活鏈接的網格應該可見,而其他所有網格都是隱藏的。
有人可以幫助我如何或從哪裏開始?
我正在C#中創建一個應用程序。我創建了一個有5個鏈接的頁面。每個鏈接打開一個不同的頁面,其中有一個GridView
。單頁上的多個GridViews
我可以做一個網頁上的所有這些網格 - 即當我點擊link1
,那麼只有對應於該鏈接的電網將出現在頁面上,當我點擊link2
,那麼只有網格link2
出現?只有激活鏈接的網格應該可見,而其他所有網格都是隱藏的。
有人可以幫助我如何或從哪裏開始?
由於您在您的標記中指定了網頁形式,多視圖控件會爲您帶來奇蹟。使用不同視圖爲每個gridview聲明多視圖控件。希望這有助於您。
使用
標記
<form id="form1" runat="server">
<asp:LinkButton ID="LinkButton1" Text="Link1" runat="server" OnClick="LinkButton1_Click">LinkButton</asp:LinkButton>
<br>
<asp:LinkButton ID="LinkButton2" runat="server" Text="Link2" OnClick="LinkButton2_Click">LinkButton</asp:LinkButton></br>
<asp:MultiView ID="MultiView1" runat="server" ActiveViewIndex="0">
<asp:View ID="View1" runat="server" >
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
</asp:View>
<asp:View ID="View2" runat="server">
<asp:GridView ID="GridView2" runat="server">
</asp:GridView>
</asp:View>
</asp:MultiView>
</form>
代碼隱藏
protected void LinkButton1_Click(object sender, EventArgs e)
{
//retrieve data
GridView1.DataBind();
MultiView1.ActiveViewIndex=0;
}
protected void LinkButton2_Click(object sender, EventArgs e)
{
//retrieve data
GridView1.DataBind();
MultiView1.ActiveViewIndex=1;
}
我的解決方案是不是這樣優雅的方式來做到這一點作爲信守Masaraure指出。我建議你按照他的回答。
但是,您也可以將每個gridview放入不同的div內,並在這些div中設置「runat = server」屬性。
並且對於每個鏈接,你可以使用一個asp.net linkbutton(因爲這個元素有一個html鏈接的默認外觀)。
你的aspx代碼將呈三角這樣:
<asp:LinkButton runat="server" id="lnkButton_1" text="Link 1" OnClick="lnkButton_1_Click"/>
<asp:LinkButton runat="server" id="lnkButton_2" text="Link 2" OnClick="lnkButton_2_Click"/>
<asp:LinkButton runat="server" id="lnkButton_3" text="Link 3" OnClick="lnkButton_3_Click"/>
<asp:LinkButton runat="server" id="lnkButton_4" text="Link 4" OnClick="lnkButton_4_Click"/>
<asp:LinkButton runat="server" id="lnkButton_5" text="Link 5" OnClick="lnkButton_5_Click"/>
<div runat="server" id="divGrid_1" Visible="false">
<asp:GridView runat="server" id="grid_1"></asp:GridView>
</div>
<div runat="server" id="divGrid_2" Visible="false">
<asp:GridView runat="server" id="grid_2"></asp:GridView>
</div>
<div runat="server" id="divGrid_3" Visible="false">
<asp:GridView runat="server id="grid_3"></asp:GridView>
</div>
<div runat="server" id="divGrid_4" Visible="false">
<asp:GridView runat="server" id="grid_4"></asp:GridView>
</div>
<div runat="server" id="divGrid_5" Visible="false">
<asp:GridView runat="server" id="grid_5"></asp:GridView>
</div>
您aspx.cs(代碼隱藏)代碼LOOL這樣的:
protected void lnkButton_1_Click(object sender, EventArgs E)
{
divGrid_1.Visible = true;
divGrid_2.Visible = false;
divGrid_3.Visible = false;
divGrid_4.Visible = false;
divGrid_5.Visible = false;
LoadGridView_1();
}
併爲每個鏈接按鈕事件單擊可以設置通訊員div的可見性爲true,其他人爲false,然後調用加載相應gridview的方法。
我希望我幫你。
此致敬禮。
您使用的是什麼技術? WPF或WinForms? – Spontifixus
如果這是使用winforms,我認爲你可以使用標籤,每個標籤有一個網格視圖,並有鏈接打開正確的標籤,一次視圖,一次一個網格,也許? – RhysW
是的,它是可能的。你現在堅持住在哪裏?什麼技術? – nawfal