是否可以在同一個aspx頁面上點擊按鈕來顯示完全不同的表單?請注意,雖然我有與vb.net的經驗,我幾乎沒有與asp.net。非常感謝您的答覆asp.net中的多種形式
回答
我會在後面的代碼中使用,加載頁面,然後將其放置在placeHolder中。然後使用javascript隱藏舊的表單。另一個人說的想法也可以工作,但我喜歡使用佔位符,我自己。
我認爲這完全取決於您想要對錶單做什麼,以及您希望將其他表單放置在頁面上的代碼有多糟糕,或者不是。
如果我理解,你需要的是,在點擊事件:
的Response.Redirect「newpage.aspx」
是的也許就是這樣,但有沒有辦法做到這一點,而不重定向到不同的頁面? – 2009-06-11 17:42:07
Server.Transfer?這在技術上不會做重定向。 – RichardOD 2009-06-11 17:47:25
在同一頁面上創建每一表格,其中一個visible = true,另一個visible = false,當用戶點擊適當的按鈕時,切換可見性。
<form id="Form1" runat="server" visible="true">
<div>
<asp:Button ID="Button1" runat="server" Text="Show Form 2" onclick="Button1_Click" />
</div>
</form>
<form id="Form2" runat="server" visible="false">
<div>
<asp:Button ID="Button2" runat="server" Text="Show Form 1" onclick="Button2_Click" />
</div>
</form>
而且在後面的代碼:
protected void Button1_Click(object sender, EventArgs e)
{
this.form2.Visible = true;
this.form1.Visible = false;
}
protected void Button2_Click(object sender, EventArgs e)
{
this.form2.Visible = false;
this.form1.Visible = true;
}
您可以用CSS/JavaScript的做到這一點,這裏是我首先會做的事:
1)代碼了兩種形式,將它們放置在一個單獨的divs中 2)使用CSS在頁面加載時隱藏一個div 3)然後在頁面上放置一個按鈕,在onlick按鈕事件中取消隱藏第二個窗體並隱藏第一個窗體。
確保您只有一個窗體標籤,但其中2個div將隱藏/取消隱藏。請記住,該表單只能提交到自己的頁面,即asp.net。
在你的HTML:
<form runat="server" id="myForm">
<div id="myForm1">
<! -- form 1 code goes here -- !>
</div>
<div id="myForm2">
<! -- form 2 code goes here -- !>
</div>
<input type="button" onclick="toggleVisibility();" />
</form>
然後在你的CSS
#myForm1 {
display: none;
}
然後ToggleVisibility()將改變的div的顯示屬性。
可能不是最「Ajaxy」的解決方案,但您可以使用iframe,將src設置爲表單位置。
它不允許在asp.net頁面上有更多的形式runat =「server」。你可以做的是在頁面上創建2個面板,其中Visible屬性設置爲false。然後,在事件處理程序中單擊按鈕時,將Visisble屬性設置爲true,同時將另一個設置爲false。將面板包裝在UpdatePanel中以擺脫回發。
<asp:UpdatePanel><ContentTemplate>
<asp:Panel ID="pnl1" runat="server">
<asp:Button OnClick="Button_CLick" />
</asp:Panel>
<asp:Panel ID="pnl2" runat="server" Visible="false">
</asp:Panel></ContentTemplate></asp:UpdatePanel>
Button_CLick處理程序中的代碼將是pnl1.Visible = false; pnl2.Visible = true;
您應該瞭解ASP.NET的MultiView控件。它確實需要回發來更改視圖,並且它對ViewState有點沉重,但它是一個可供選擇的選項。
好吧,我想有幾種方法可以解決這個問題。關閉tekBlues,你可以做一個Server.Transfer「yourpage.aspx」。然後,您可以使用PreviousPage屬性從舊頁面獲取數據。
您可以在主頁面上使用用戶控件和佔位符。當然,動態加載的控件具有額外的複雜性
您可以使用MultiView控件。 Asp.Net將爲您保留所有的增值稅。用於快速和骯髒。
雖然這些都是webform解決方案。如果您正在尋找AJAX解決方案,可能需要繼續尋找答案。
使用AJAX將另一頁的內容加載到同一頁面。
使用Response.Redirect或Server.Transfer移動到下一頁。
- 1. ASP.NET MVC多種形式
- 2. ASP.NET中的兩種形式
- 3. ASP.NET網站:多種形式的頁面
- 4. ASP.NET兩種形式
- 5. vb.net中的多種形式
- 6. delphi中的多種形式
- 7. CreateView中的多種形式
- 8. 多種形式
- 9. 多種形式
- 10. 多種形式
- 11. 一種形式到多種形式
- 12. ASP.NET MVC多種控制器操作在一種形式中
- 13. 什麼是多態,它的兩種形式或多種形式?
- 14. cakephp多種形式
- 15. 爲多種形式
- 16. Zend多種形式
- 17. 軌多種形式
- 18. ajax/jquery的多種形式?
- 19. Django的多種形式
- 20. 的Symfony:多種形式
- 21. 1.5.2的Rails多種形式
- 22. 多種形式的EnableClientValidation
- 23. 指定的多種形式
- 24. 多種形式中,只有一種形式正在其餘形式不工作
- 25. 一種形式的多種產品
- 26. 多種形式在一種形式的播放[2.0.4]
- 27. 在vb.net中的多種形式
- 28. MVC在Swing中的多種形式
- 29. 在asp.net頁面中有多種形式:缺點?
- 30. 在ASP.NET MVC 2中使用ViewModels - 多種形式
現在我想到了,我們需要更詳細的問題。根據所提供的信息,有許多不同的方法可以做到這一點。 – 2009-06-11 17:48:52
我認爲你需要澄清你的意思的形式。如果你的意思是形式表單中的表單然後類似多視圖控制將運作良好 - http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.multiview.aspx – RichardOD 2009-06-11 17:50:07