Cấp bậc tác giả:

DOTNET

Sử dụng HTTP Post và thuộc tính Public trong ASP.NET

Được viết bởi webmaster ngày 23/07/2013 lúc 07:30 AM
Bài viết này sẽ hướng dẫn một số kỹ thuật để vượt qua giá trị từ trang này sang một trang khác trong ASP.Net. Khi bạn phát triển bất kỳ trang web trong ASP.Net có nhiều trang, bạn cần cung cấp hướng để di chuyển hoặc duyệt giữa các trang trong trang web.
  • 0
  • 2806

Sử dụng HTTP Post và thuộc tính Public trong ASP.NET


Bài viết này sẽ hướng dẫn một số kỹ thuật để vượt qua giá trị từ trang này sang một trang khác trong ASP.Net. Khi bạn phát triển bất kỳ trang web trong ASP.Net có nhiều trang, bạn cần cung cấp hướng để di chuyển hoặc duyệt giữa các trang trong trang web. Tại thời điểm chuyển hướng, bạn cần một số dữ liệu hoặc giá trị được thông qua từ trang nguồn đến trang đích để làm một số xử lý trong trang đích. Để làm điều đó, ASP.Net có một số kỹ thuật có thể giúp chúng ta vượt qua giá trị từ trang này sang một trang khác.

Sử dụng HTTP Post

Sử dụng kỹ thuật này, tôi sẽ gọi một "PostBackUrl" và trên trang tiếp theo sử dụng "Request.Form" .

PostBackUrl: PostBackUrl của trang được sử dụng để gửi từ trang hiện tại khi các nút điều khiển được nhấp.

Bây giờ kéo và thả một TextBox và nút điều khiển vào trang.

HTTPPostSource Page

HTTPPostSource.aspx

<asp:TextBoxID="TextBox1"runat="server"></asp:TextBox>
 <br/>
 <br/>
<asp:ButtonID="Button1"runat="server"Text="Button"OnClick="Button1_Click"/>

HTTPPostSource.aspx.cs

Protectedvoid Button1_Click(object sender, EventArgs e)
{
Button1.PostBackUrl ="~/HTTPPostTarget.aspx";
}
HTTPPostTarget Page

HTTPPostTarget.aspx

<%@Page Language="C#"AutoEventWireup="true"CodeFile="HTTPPostTarget.aspx.cs"
   Inherits="HTTPPostTarget"%>
 
<!DOCTYPEhtml PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headid="Head1"runat="server">
   <title></title>
</head>
<body>
   <formid="form1"runat="server">
   <div>
       <asp:LabelID="Label1"runat="server"Text="Label"></asp:Label>
   </div>
   </form>
</body>
</html>

HTTPPostTarget.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
 
publicpartial classHTTPPostTarget : System.Web.UI.Page
{
   protected void Page_Load(object sender,EventArgs e)
    {
        Label1.Text ="Posted Value: " + Request.Form["Textbox1"].ToString();
    }
}
Bây giờ chạy ứng dụng thử.

Sử dụng thuộc tính Public

Khi chúng ta sử dụng thuộc tính public, chúng ta tạo ra thuộc tính public và trên trang tiếp theo làm cho nó sử dụng "PreviousPage.PropertyName". Nếu bạn có 2 trang đơn giản thì một PublicPropertySource và bên kia là một PublicPropertyTarget. Tôi làm nó theo cách này.

PublicPropertySource page: Đây là trang chứa thuộc tính

PublicPropertySource.aspx

<asp:TextBoxID="TextBox1"runat="server"></asp:TextBox>
&nbsp;<asp:ButtonID="Button1"runat="server"
OnClick="Button1_Click"Text="Button"/> 

PublicPropertySource.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
 
publicpartial classPublicProperty : System.Web.UI.Page
{
   public string TextValue
    {
       get
        {
           return TextBox1.Text;
        }
    }
   protected void Page_Load(object sender,EventArgs e)
    {
    }
 
   protected void Button1_Click(object sender,EventArgs e)
    {
        Server.Transfer("PublicPropertyTarget.aspx");
    } 
} 
PublicPropertyTarget Page

Thêm PublicPropertyTarget.aspx vào đầu trang

<%@ PreviousPageType VirtualPath="Page1.aspx" %>PublicPropertyTarget.aspx
<%@Page Language="C#"AutoEventWireup="true"CodeFile="PublicPropertyTarget.aspx.cs"Inherits="PublicPropertyTarget" %>
<%@PreviousPageType VirtualPath="~/PublicPropertySource.aspx"%>
<!DOCTYPEhtml PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headrunat="server">
   <title></title>
</head>
<body>
   <formid="form1"runat="server">
   <div>   
       <asp:LabelID="Label1"runat="server"Text="Label"></asp:Label>   
   </div>  
   </form>
</body>
</html>

PublicPropertyTarget.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
 
publicpartial classPublicPropertyTarget : System.Web.UI.Page
{
   protected void Page_Load(object sender,EventArgs e)
    {
        Label1.Text = PreviousPage.TextValue;      
    }
}
Bây giờ chạy thử nghiệm nó.

Nguồn bài viết: DOTNET.VN

BÌNH LUẬN BÀI VIẾT

Bài viết mới nhất

LIKE BOX

Bài viết được xem nhiều nhất

HỌC HTML