Каков наилучший способ чтения значений страницы, размещенных с другой страницы? У меня есть что-то, что работает, но кажется довольно неряшливым.Каков наилучший способ чтения значений страницы, отправленных на нее с другой страницы?
Я работаю над многостраничной формой с первой страницей, используя PostBackUrl, чтобы перейти ко второму.
Внутри страницы 1 содержится заполнитель содержимого под названием «CPH1». Внутри это поле с именем «First_Name».
Я отправляю первую страницу во вторую, используя PostBackUrl.
код за файл второй страницы считывает значение и помещает его в переменной, используя этот код:
protected void Page_Load(object sender, EventArgs e)
{
NameValueCollection nvc = Request.Form;
string First_Name_Here = nvc["ctl00$CPH1$First_Name"] ;
}
Как вы можете видеть, я получаю информацию, используя окончательное название поле «ctl00 $ CPH1 $ First_Name» вместо «First_Name».
Есть ли лучший способ сделать это?
Edit ниже:
Спасибо всем за помощь. Все еще не понял этого, но подошел ближе.
Использование этого кода: ContentPlaceHolder CPH1 = Page.Master.FindControl ("CPH1") as ContentPlaceHolder; Response.Write (CPH1.FindControl ("First_Name"));
Дает мне этот результат: System.Web.UI.WebControls.TextBox.
Что я не понял, так это как получить значение TextBox как строку. Кажется, что все, что я пробую, приводит к ошибке.
Поскольку вы размещаете страницы на разных страницах, возможно, серверный элемент управления недоступен вам в методе загрузки страницы, поэтому я полагаюсь на предсказуемость именования элементов управления ASP.NET (например, вы уже делаете) - это ваш лучший вариант. Это не sloppy, но контрольное имя IS sorta уродливое. –