Đặt giá trị phiên trong JavaScript C#

Trong bài viết này, tôi sẽ giải thích bằng một ví dụ, cách đặt biến Phiên trong JavaScript trong ASP. Net sử dụng C# và VB. Bọc lưới

JavaScript là ngôn ngữ Phía máy khách và do đó không thể trực tiếp đặt biến Phiên trong JavaScript

Do đó, giải pháp là thực hiện lệnh gọi AJAX bằng XmlHttpRequest (XHR) và chuyển giá trị của biến JavaScript sang WebMethod và bên trong WebMethod, giá trị sẽ được đặt trong biến Phiên trong ASP. Net sử dụng C# và VB. Bọc lưới

 

 

Đánh dấu HTML

Đánh dấu HTML bao gồm một ASP. Net TextBox và một nút HTML. Nút HTML đã được chỉ định một trình xử lý sự kiện onclick gọi phương thức SetSession JavaScript để đặt giá trị của biến JavaScript trong Phiên

Tên của bạn

<asp. Hộp văn bản ID="txtUserName" runat="server">asp:Hộp văn bản>

<đầu vào id="btSet" loại<="button" value="Set Session" onclick="SetSession()" />

 

 

Gửi giá trị của biến JavaScript tới WebMethod

Khi nút Set được nhấp, hàm JavaScript SetSession được gọi

Bên trong hàm JavaScript, một lệnh gọi AJAX được thực hiện tới SetSession WebMethod bằng cách sử dụng XmlHttpRequest (XHR) và giá trị của UserName TextBox được gửi tới WebMethod

Sau đó, WebMethod trả về một chuỗi được hiển thị bằng Hộp thông báo cảnh báo JavaScript

<tập lệnh loại="text/javascript">

    hàm SetSession() {

        var tên = tài liệu. getElementById( " <% =txtUserName. ClientID %> " ). giá trị;

        var yêu cầu;

        if (cửa sổ. XMLHttpRequest) {

            //Trình duyệt mới.

            yêu cầu = mới XMLHttpRequest();

}

        else if (cửa sổ. ActiveXObject) {

            //Trình duyệt IE cũ.

            yêu cầu = mới ActiveXObject( "Microsoft. XMLHTTP" );

}

        if (yêu cầu. = null ) {

            var url = "Mặc định. aspx/SetSession" ;

            yêu cầu. open( "POST" , url, false );

            var params = "{name. '" + tên + "'}" ;

            yêu cầu. setRequestHeader( "Loại nội dung" , "application/json" )

            yêu cầu. onreadystatechange = function () {

                if (yêu cầu. readyState == 4 && yêu cầu. trạng thái == 200) {

cảnh báo (JSON. phân tích (yêu cầu. văn bản phản hồi). d);

}

};

yêu cầu. gửi (tham số);

}

}

tập lệnh>script>

 

 

Phương pháp web phía máy chủ

Bên trong SetSession WebMethod, giá trị được gửi từ phía Máy khách được nhận dưới dạng tham số và được đặt vào biến Phiên

Cuối cùng, giá trị được đọc lại từ biến Phiên và được gửi lại cho Máy khách cùng với Ngày và Giờ của Máy chủ hiện tại ở định dạng chuỗi

Làm cách nào để đặt giá trị trong phiên JavaScript?

Cú pháp .
Lưu dữ liệu vào bộ nhớ phiên. phiênStorage. setItem("key", "value");
Đọc dữ liệu từ lưu trữ phiên. để họ = sessionStorage. getItem("key");
Xóa dữ liệu khỏi bộ nhớ phiên. phiênStorage. removeItem("key");
Xóa tất cả (Xóa bộ nhớ phiên) sessionStorage. xa lạ();

Có thể đặt biến phiên từ JavaScript không?

Bạn không thể đặt biến phiên máy chủ trực tiếp từ JS .

Làm cách nào để chuyển biến phiên trong JavaScript?

Session là một biến ở phía máy chủ phụ trợ, trong khi JS là một tập lệnh trước đó. Không có phương thức làm sẵn nào trong JS để lấy giá trị của Phiên và nó cần được lấy thông qua ngôn ngữ máy chủ . Ví dụ, java có thể được sử dụng để lấy giá trị của Phiên và gán nó cho biến JS.

Làm cách nào để đặt giá trị phiên trong JavaScript trong asp net C#?

Do đó, giải pháp là thực hiện lệnh gọi AJAX bằng XmlHttpRequest (XHR) và chuyển giá trị của biến JavaScript cho một WebMethod và bên trong WebMethod the value will be set in Session variable in ASP.Net using C# and VB.Net. The HTML Markup consists of an ASP.Net TextBox and a HTML Button.