Можно ли одним щелчком кнопки отобразить совершенно другую форму на той же странице aspx? обратите внимание, что, хотя у меня есть опыт работы с vb.net, у меня почти нет с asp.net. Большое спасибо за ваши ответынесколько форм в asp.net
ответ
Я бы использовал и в вашем коде позади, загрузите страницу, а затем поместите ее в placeHolder. Затем спрячьте старую форму с помощью javascript. Идея, о которой говорил и другой человек, также будет работать, но мне нравится использовать местозаполнитель.
Я думаю, что все это действительно зависит от того, что вы хотите делать с формами, и насколько плохо вы хотели бы использовать код для другой формы, лежащей на странице, или нет.
Если я понимаю, что вам нужно, на событие щелчка:
Response.Redirect «newpage.aspx»
да, возможно, это , но есть ли способ сделать это без перенаправления на другую страницу? –
Server.Transfer? Это технически не делает перенаправления. – RichardOD
Создание каждой из форм на одной странице , один с 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;
}
это говорит об ошибке 'Button2_Click' не является членом 'ASP.default_aspx'. –
Вы получаете ту же ошибку? –
Убедитесь, что атрибут onclick установлен правильно и что Button2_Click существует в коде позади. Это наиболее очевидные причины этой проблемы. –
Вы можете сделать это с помощью CSS/Javascript, вот что я хотел бы сделать первый:
1) код две формы, поместите их в отдельных divs 2) с помощью CSS скрыть один div на загрузке страницы 3) затем поместите кнопку на странице, в событии кнопки onlick покажите вторую форму и скройте первый.
Убедитесь, что у вас только один тег формы, но в нем два divs, которые вы будете скрывать/показывать. Имейте в виду, что форма может быть отправлена только на свою страницу, это 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() изменит атрибут отображения дивы.
Возможно, это не самое лучшее решение «Ajaxy», но вы можете использовать iframe, с установкой src в расположение форм.
НЕ разрешено иметь более 1 форму runat = "server" на странице asp.net. Что вы можете сделать, это создать 2 панели на вашей странице 1, если свойство Visible установлено на false. Затем, когда нажата кнопка в обработчике событий, вы устанавливаете для свойства Visisble значение true, а другое значение 1 - 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 не сможет отличить, в какой форме он находится. Page.Form больше не работает, например. – Colin
Вы можете иметь только одну форму с атрибутом runat VISIBLE за раз. См. Http://msdn.microsoft.com/en-ca/magazine/cc163736.aspx – sarsnake
Вы должны знать об управлении MultiView ASP.NET. Это требует обратной передачи для изменения представлений, и это довольно тяжело для ViewState, но его вариант для рассмотрения.
Ну, есть несколько способов сделать это, я полагаю. Исправляя tekBlues, вы можете сделать Server.Transfer «yourpage.aspx». Затем вы можете использовать свойство PreviousPage для доступа к данным со старой страницы.
Вы можете использовать элементы управления пользователя и местозаполнитель на главной странице. Конечно, динамически загруженные элементы управления обладают дополнительной сложностью.
Вы можете использовать элемент управления MultiView. Asp.Net будет поддерживать все вары для вас. Полезно для быстрого и грязного.
Все это все веб-решения. Если вы ищете решение AJAX, возможно, вам придется искать ответы.
Используйте AJAX для загрузки содержимого другой страницы на ту же страницу.
Используйте Response.Redirect или Server.Transfer для перехода на следующую страницу.
- 1. Несколько форм в ASP.NET
- 2. ASP.NET MVC Несколько форм
- 3. Несколько форм в ASP.NET MVC
- 4. Несколько форм на странице ASP.NET
- 5. Аутентификация форм ASP.Net - несколько провайдеров
- 6. ASP.NET MVC несколько форм начала?
- 7. Сделайте несколько форм в конфликте ASP.NET MVC?
- 8. несколько форм сервера runat в asp.net
- 9. Несколько форм на одной странице ASP.net MVC
- 10. Имея несколько форм на странице asp.net: Недостатки?
- 11. Несколько форм в MVC5
- 12. несколько форм в vb.net
- 13. несколько форм в symfony2
- 14. Несколько форм в Rails
- 15. Несколько форм в jsp
- 16. Несколько форм в Symfony
- 17. Несколько форм в vb.net
- 18. Несколько форм в delphi
- 19. Несколько форм Sharepoint
- 20. Несколько идентичных форм на странице в asp.net. Как получить переменные?
- 21. несколько форм в представлении ASP.NET MVC и проблемах маршрутизации
- 22. Как включить несколько попыток входа в аутентификацию форм asp.net?
- 23. Несколько jQuery Datepickers несколько форм
- 24. Взаимодействие нескольких форм в asp.net
- 25. отображение нескольких форм в asp.net
- 26. Несколько форм на представлении MVC
- 27. ASP.net 4.5/Аутентификация форм
- 28. Аутентификация форм Asp.net
- 29. Обработка форм ASP.NET
- 30. ASP.NET MVC - Кэширование форм
Теперь, когда я думаю об этом, нам понадобится немного больше подробностей с вопросом. Существует несколько различных способов сделать это на основе приведенной информации. –
Думаю, вам нужно уточнить, что вы подразумеваете под формой. Если вы имеете в виду форму, как в записи формы, то что-то вроде многовидового элемента управления будет хорошо работать - http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.multiview.aspx – RichardOD