переменная доступа из кода позади другой страницы

у меня есть index.aspx (index.aspx.cs), который будет включать в себя body.aspx (body.aspx.cs) с использованием Server.exectue ("body.aspx»);

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Collections;

public partial class index : System.Web.UI.Page
{
    public string text1 = "abc";

    protected void Page_Load(object sender, EventArgs e)
    {


    }

}

в index.asp.cs есть переменная text1, которую я хочу использовать в body.aspx.cs, как это сделать?

Спасибо

 Aristos24 окт. 2012 г., 10:17
Может быть, это невозможно, а может быть, лучше следовать пути asp.net при программировании в точечной сети.
 Grant Thomas24 окт. 2012 г., 10:12
Почему бы не использовать главные страницы вместоинъекционного» ваши страницы вместе вручную?
 hkguile24 окт. 2012 г., 10:13
потому что я'я программист PHP
 hkguile24 окт. 2012 г., 10:49
Я установил мастер-страницу и вставил некоторую страницу с контентом, но как просмотреть страницу в браузере, то есть .master?

Ответы на вопрос(2)

Решение Вопроса

переосмысливая ASP.NET неправильный путь. Я думаю, вы начинали как разработчик Windows.

ASP.NET Forms не похожи на Windows Forms.

Вы должны понимать, что страница ASP.NET живет только до тех пор, пока не будет обработан запрос. И тогда этоумирает».

Вы не можете передавать переменные с / на страницы так же, как с помощью Windows Forms.

Если вы хотите получить доступ к содержимому с другой страницы. Затем эта страница ДОЛЖНА хранить этот фрагмент информации внутри объекта SESSION, а затем вы получаете доступ к этому объекту сеанса с другой страницы и получаете желаемое значение.

Позволь мне привести пример:

Страница 1:

public string text1 = "abc";

    protected void Page_Load(object sender, EventArgs e)
    {
          Session["FirstName"] = text1;
    }

Страница 2:

protected void Page_Load(object sender, EventArgs e)
{
    string text1;          
    text1 = Session["FirstName"].ToString();
}

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

Кроме того, вы можете передавать значения с помощью изменения строки запроса (добавить переменные в URL).

Пример:

Страница 1: (событие нажатия кнопки)

private void btnSubmit_Click(object sender, System.EventArgs e)
{
    Response.Redirect("Webform2.aspx?Name=" +
    this.txtName.Text + "&LastName=" +
    this.txtLastName.Text);
}

Страница 2:

private void Page_Load(object sender, System.EventArgs e)
{
   this.txtBox1.Text = Request.QueryString["Name"];
   this.txtBox2.Text = Request.QueryString["LastName"];
}

это как вы должны передавать переменные между страницами

Кроме того, если вы хотите, чтобы значение разделялось между ВСЕМИ посетителями вашего сайта. Тогда вам следует рассмотреть возможность использования приложения вместо сессии

надеюсь, это поможет

 Yousi24 окт. 2012 г., 10:38
Кроме того, если вы хотите, чтобы значение разделялось между ВСЕМИ посетителями вашего сайта. Тогда вам следует рассмотреть возможность использования приложения вместо сессии

staticперестает становиться собственностью конкретногопример страницы и становится собственностьютип страницы.

Вы можете получить к нему доступ какindex.text1 из любого места, где можно увидетьindex учебный класс.

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

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

Если это значение никогда не должно изменяться, пометьте его какconst а ты нене нужно беспокоиться о вещах, которые меняют это.

Ваш ответ на вопрос