Vit, Если тебе не удобно через FindControl тогда сделай через Reflaction Default.aspx
Код | <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> First Name: <asp:TextBox ID="txtName" runat="server" /><br/> Last Name: <asp:TextBox ID="txtLastName" runat="server" /><br/> Email: <asp:TextBox ID="txtEmail" runat="server" /><br/> <asp:Button PostBackUrl="~/Default2.aspx" Text="Click Me" runat="server" /> </div> </form> </body> </html>
|
Behind Code: (Мы тут определяем метод, который будет забирать данные с нашей страницы)
Код | protected void Page_Load(object sender, EventArgs e) {
} public Dictionary<string, string> GetTextBoxValue() { Dictionary<string, string> user = new Dictionary<string, string>(); user.Add("Username", txtName.Text.Trim()); user.Add("LastName", txtLastName.Text.Trim()); user.Add("Email", txtEmail.Text.Trim());
return user; }
|
Когда Aspx Файла Default2.aspx не привожу, потому как он пустой. А вот behind Code привожу
Код | protected void Page_Load(object sender, EventArgs e) { if (PreviousPage != null) { /* Создания */ Dictionary<string, string> user = new Dictionary<string, string>(); /* Получаем описание метода, и вызываем его */ user = (PreviousPage.GetType().GetMethod("GetTextBoxValue").Invoke(PreviousPage, null) as Dictionary<string, string>); /* Добавляем на странице текстовые Node'ы */ Page.Controls.Add(new LiteralControl("Username:" + user["Username"] + "<br/>")); Page.Controls.Add(new LiteralControl("LastName:" + user["LastName"] + "<br/>")); Page.Controls.Add(new LiteralControl("Email:" + user["Email"] + "<br/>")); } }
|
Тут это делается немного легче (хотя это ИМХО каждого) |