Если у меня есть кнопка внутри одной страницы, например, «main.aspx». И после щелчка я хочу, чтобы метод clicked в «main.aspx.cs» вызывал функцию с другой страницы * .aspx.cs, но также перенаправлял ее на страницу * .aspx ... это возможно?Функция вызова Asp.Net с другой страницы * .aspx.cs
ответ
Почему вы не просто перенаправляете параметр querystring, а затем выполняете функцию на целевой странице?
Это то, что у меня было первоначально, загрузка onpage, это будет выглядеть, если бы была введена последовательность запросов и вызвать функцию, если это было ... проблема в том, что если бы я вспомнил эту функцию, то в pageload она вызывается дважды, потому что она не будет erase querystring – user84786
есть ли способ сбросить запрос без перезагрузки страницы? – user84786
все, что я пытаюсь исправить, и говорит, что коллекция читается только. Это то, что я пытаюсь, Request.Form.Clear(); – user84786
Вам нужно понять жизненный цикл страницы ASP.NET, и вы поймете, почему это не кошерный. Если вам действительно нужно вызывать метод с нескольких страниц, это звучит как хороший кандидат для какого-либо внешнего класса/объекта.
В качестве альтернативы вместо параметра querystring вы можете установить флаг Session, а затем перенаправить на эту новую страницу. Затем очистите флаг сеанса, когда вы вызываете метод этой страницы.
+1 для указания, что это не кошер. -1 для использования сеанса для передачи действий –
Бах, я полагаю, вы никогда не используете глобальные переменные? :) – Bryan
Более конкретный пример того, что вы пытаетесь сделать, будет полезен. В противном случае вы получите ответы на всевозможные ответы, многие из которых будут несовместимы.
Вы должны поместить общий код в папку App_Code. У вас также не должно быть бизнес-логики внутри кода кода.
Тот факт, что вам нужна одна страница для вызова метода на другой странице, указывает на то, что вы этого не сделали. Страницы предназначены для отображения и интерпретации действий, но они не должны содержать ни одну из бизнес-логики.
например. хромой пример корзины покупок.
ProductView.aspx - calls Cart.AddToCart(Product p) CartView.aspx - displays all items in the cart, and the user can update or remove items. - calls Cart.RemoveItem(int cartIndex) - calls Cart.UpdateItem(int cartIndex, int newItemCount)
Сама корзина не принадлежит ни CartView.aspx, ни ProductView.aspx. Вместо этого он принадлежит ~/App_Code/Cart.cs
Так что ваше решение может выглядеть как
/(root of your web folder) Product/ ProductView.aspx ProductView.aspx.cs Cart/ CartView.aspx CartView.aspx.cs App_Code/ Cart.cs Product.cs
Кроме того, чтобы добавить папку App_Code, если он еще не существует, щелкните правой кнопкой мыши на веб-проекта и выберите Add ASP.NET folder
и выберите App_Code
Это имеет смысл. Являются ли функции внутри Cart.cs доступными только для CartView.aspx или доступны для любой страницы * .aspx? – user84786
Все, что находится в ~/App_Code, доступно для всех страниц. –
В основном случае, для Main.aspx
, чтобы перейти к Other.aspx
и передать небольшое количество данных в строке запроса, чтобы указать действие.
Main.aspx
protected void OnSomeButtonClicked(object sender, EventArgs e)
{
if(someCondition)
{
Response.Redirect("~/Other.aspx?action=runAway");
}
}
в Other.aspx
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
if("runAway".Equals(Request.QueryString["action"])
{
RunAway();
}
}
}
Вы также должны прочитать на Server.Transfer versus Response.Redirect. Какой из них использовать, зависит от ситуации.
Также обратите внимание, что параметры QueryString могут быть легко изменены пользователем, поэтому всегда проверяйте их и никогда не доверяйте пользователю.
Создайте объект из другого класса и вызовите метод.
protected Button1_Clicked(Sender s, Eventargs e){
MyNamespace.Page_Other po = new MyNamespace.Page_Other();
po.Method1();
Response.Redirect("~/page_other.aspx");
}
- 1. вызова другой функции с другой страницы
- 2. вызова не статический метод с другой страницы
- 3. Функция вызова страницы Javascript
- 4. Как переключить окно подтверждения с страницы aspx.cs
- 5. Функция вызова внутри другой функции
- 6. Функция обратного вызова Ajax для перенаправления другой страницы
- 7. Функция вызова из другой функции
- 8. приватные статические переменные в файле .aspx.cs веб-страницы ASP.NET
- 9. Функция вызова и прерывания другой
- 10. Функция вызова с перезагрузки Ajax страницы
- 11. Вызова C# функция от asp.net
- 12. Функция вызова JQuery после загрузки сетки asp.net
- 13. Изменение формы формы asp.net для вставки режима с другой страницы
- 14. Функция запуска триггера с другой страницы
- 15. контроль доступа другой страницы asp.net
- 16. Почему моя кнопка указывает на файл aspx.cs с неправильной страницы?
- 17. Закрыть iFrame с другой веб-страницы + asp.net
- 18. Управление доступом с другой страницы. ASP.Net
- 19. Мониторинг потоков asp.net с другой страницы
- 20. Trace from aspx.cs file
- 21. Связывание файла aspx.cs и главной страницы
- 22. Функция вызова с параметрами
- 23. fade_in fade_out для вызова другой страницы
- 24. Реализация логики от aspx.cs до страницы aspx
- 25. Добавьте две страницы aspx для одиночного aspx.cs
- 26. со страницы * .aspx.cs вызов функции javascript
- 27. Передача значения из aspx.cs страницы хранимой процедуры
- 28. Получите данные с страницы aspx.cs на страницу aspx
- 29. Получить URL-адрес страницы ASP.Net в кодировке с другой страницы
- 30. jQuery - функция вызова на основе идентификатора страницы
Возможно, более конкретный пример того, что вы пытаетесь сделать, поможет вам получить лучший ответ. У Shoban есть лучший ответ на ваш вопрос, но если вы можете быть немного более конкретным, мы можем помочь обеспечить правильность действий. – Daniel