2014-12-28 3 views
0

Я просто строю учебный сайт для обучения. ниже моя страница Default.aspx, используя twitter bootstrap. Элементы управления примечаниями здесь - это элементы управления HTML, а не asp.net.Как опубликовать данные из Defaul.aspx на другую страницу aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 

<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head id="Head1" runat="server"> 
    <title>My Practice Website</title> 

    <meta charset="utf-8" /> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 
    <meta name="viewport" content="width=device-width, initial-scale=1" /> 
    <link rel="stylesheet" href="resources/css/bootstrap.min.css" /> 
    <script src="resources/js/jquery-2.1.3.min.js"></script> 
    <script src="resources/js/bootstrap.min.js"></script> 
</head> 
<body> 
    <div class="container-fluid"> 
     <div class="row"> 
      <div class="col-lg-6"> 
       <form method="post" runat="server" > 
        <div class="row"> 
         <div class="col-lg-6"> 
          <div class="form-group"> 
           <label for="txtLName">First Name</label> 
           <input type="text" runat="server" class="form-control" id="txtFName" name="txtFName" placeholder="Enter First Name" /> 
          </div> 

          <div class="form-group"> 
           <label for="txtUName">Username</label> 
           <div class="input-group"> 
            <span class="input-group-addon">@</span> 
            <input type="text" runat="server" class="form-control" id="txtUName" name="txtUName" placeholder="Enter User Name" /> 
           </div> 
          </div> 
          <div class="form-group"> 
           <label for="txtPassword">Password</label> 
           <div class="input-group"> 
            <span class="input-group-addon"><i class="glyphicon glyphicon-lock"></i></span> 
            <input type="password" runat="server" class="form-control" id="txtPassword" name="txtPassword" placeholder="Enter Password" /> 
           </div> 
          </div> 
         </div> 
         <div class="col-lg-6"> 
          <div class="form-group"> 
           <label for="txtLName">Last Name</label> 
           <input type="text" runat="server" class="form-control" id="txtLName" name="txtLName" placeholder="Enter Last Name" /> 
          </div> 
          <div class="form-group"> 
           <label for="txtEmail">Email</label> 
           <input type="email" runat="server" class="form-control" id="txtEmail" name="txtEmail" placeholder="Enter Email" /> 
          </div> 

          <div class="form-group"> 
           <label for="txtConfirmPassword">Confirm Password</label> 
           <div class="input-group"> 
            <span class="input-group-addon"><i class="glyphicon glyphicon-lock"></i></span> 
            <input type="password" runat="server" class="form-control" id="txtConfirmPassword" name="txtConfirmPassword" placeholder="Enter Password" /> 
           </div> 
          </div> 
         </div> 
         <div class="col-lg-12"> 
          <button type="submit" runat="server" name="btnSubmit" class="btn btn-info pull-right" onserverclick="btnSubmit_click" > 
           <span>Submit</span> 
           <i class="glyphicon glyphicon-log-in"></i> 
          </button> 

         </div> 
        </div> 
       </form> 
      </div> 
     </div> 
    </div> 
</body> 
</html> 

Я хочу отправить сообщение этой формы на другую страницу, скажем, User.aspx. Как это сделать из кода? кто угодно.

+0

Несколько способов, сеансы querystrings, но лучший способ сделать это здесь сохранить его в базе данных. – prospector

+0

привет спасибо за быстрый reponce, не могли бы вы дать мне пример кода. @prospector –

+0

Если вы изучаете ASP.NET, я бы рекомендовал изучить MVC через WebForms. Это тривиальная задача в MVC. –

ответ

2

Поскольку ваши элементы управления HTML имеют атрибут runat, установленный на server, вы можете получить их значения в коде позади. Вы можете что-то вроде этого:

public class MyData 
{ 
    public string FirstName { get; set; } 
    public string UserName { get; set; } 
    // And so on and so forth for the other properties to save. 
} 

protected void btnSubmit_click(object sender, EventArgs e) 
{ 
    MyData md = new MyData(); 
    md.FirstName = txtFName.Value; 
    md.UserName = txtUName.Value; 
    // And so on and so forth for the other controls. 

    Session["MyData"] = md; 
} 

В другой странице:

MyData md = (MyData)Session["MyData"]; 
+0

Большое вам спасибо. ... –

4

Да, вы можете разместить его на вторую страницу, попытайтесь изменить разметку элемента формы к этому,

<form method="post" action="~/User.aspx"> 

Обратите внимание, что нет никакой необходимости для атрибута runat="server" для простого HTML-элемента. После этого, вы можете собирать данные, переданные пользователем на странице User.aspx, получая объекты, как это,

if(IsPost) { 
    // Post Request 
    var txtFName = Request["txtFName"]; 
    // and so on... 
} 

.. это было бы достаточно, чтобы собрать данные из одной страницы, на другую страницу ,

+0

Привет, Афзал Ахмад Зеесан, благодарю вас за ответ, но есть ошибка в том, что (IsPost), что IsPost не существует в текущем контексте. Почему это? –

+1

Эй, это было свойство внутри рамки веб-страниц ASP.NET и доступно в пространстве имен System.Web.Helpers. Если вы не используете его, вы получите эту ошибку. Подробнее об этом свойстве см. Здесь: http://msdn.microsoft.com/en-us/library/system.web.webpages.webpagerenderingbase.ispost(v=vs.111).aspx –

Смежные вопросы