Передать строковые параметры на главную страницу

2

Я использую язык С# Asp.net версии 3.5 У меня есть главная страница и страницы, на которых они используют master. Я думаю, что есть три способа реализовать мое приложение с возможностью передачи параметров между контроллером на страницы.

Первый способ: Мне нужно передать строковый параметр со страницы, чтобы понять, как я могу это сделать?
Я собираюсь передать строковый параметр между страницами, чтобы освоить, когда страница запроса контроллера, а затем параметр страницы передать ему мастер.

Второй способ: Перенос некоторых строковых параметров из класса контроллера на главную страницу (не на страницу, а затем на страницу, чтобы она была мастером).

Третий способ: Переход к другому классу или полю, которое должно быть статическим, а затем выполнить его загрузку.

Какой из лучших или возможных способов я имею в виду с высокой производительностью и безопасностью.

Теги:

3 ответа

1
Лучший ответ

Если вам нужно иметь некоторые строковые значения, доступные для вашего MasterPage или любой другой страницы приложения, вы можете попробовать одно из многих состояний управления на стороне клиента, поддерживаемых ASP.NET:

  • Просмотреть состояние
  • Состояние управления
  • Скрытые поля
  • Cookies
  • Строки запроса

Посмотрите эту страницу для получения подробной информации о том, как использовать каждый из этих параметров и помогите найти правильный:

  • 0
    На стороне сервера или на стороне клиента, что лучше мне нужно безопасность и производительность?
  • 1
    Я лично использую состояние сеанса для таких ситуаций. Это очень безопасно, поскольку оно зашифровано, и если вам удастся сохранить состояние сеанса небольшим, производительность не должна быть проблемой. Это становится проблемой производительности, когда вы пытаетесь хранить большие порции данных.
4

Предположим, что у вас есть мастер под названием MyMaster с общедоступным методом "Foo". У вас также есть страница под названием MyPage.

В экземпляре MyPage вы можете использовать свойство "Мастер" для получения ссылки на мастер. Если вы укажете эту ссылку, вы можете вызвать метод Foo на ней.

((MyMaster)myPage.Master).Foo("some string")

Таким образом, если у вас есть доступ к экземпляру страницы, вы всегда можете получить доступ к основным публичным элементам.

  • 0
    На стороне сервера или на стороне клиента, что лучше мне нужно безопасность и производительность?
  • 2
    Это код на стороне сервера. Я не уверен, что главные страницы являются даже концепцией на стороне клиента.
1

Если вы пытаетесь сделать это на стороне сервера, вы можете открыть свойство на своей главной странице. Страница "ребенок" может затем получить доступ к свойству через свойство Page.Master.

Например:

public partial class MyMaster : MasterPage
{
    public string MyString { get; set; }
}

public partial class MyPage : Page  
{
    protected void Page_Load(object sender, EventArgs e)
    {
        ((MyMaster)(this.Master)).MyString = "some value";
    }
}
  • 0
    На стороне сервера или на стороне клиента, что лучше мне нужно безопасность и производительность?
  • 0
    Грег прав. Главные страницы не являются концепцией на стороне сервера. Вы получите лучшую производительность на стороне клиента, лучшую безопасность на стороне сервера. Рикардо предлагает использовать состояние сеанса, которое также является жизнеспособной альтернативой на стороне сервера. Многое из того, идете ли вы с серверным или клиентским маршрутом, будет зависеть от того, чего именно вы пытаетесь достичь. Трудно дать сильную рекомендацию без более конкретного примера.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню