ASP.NET PostBack介绍及应用

ASP.NET回传简介

回传是软件行业中常见的定义过程之一,服务器接收来自网络应用程序的响应,并将通常的信息返回给浏览器,以显示或呈现在屏幕上给最终用户,假设在一个网络应用程序中,有一个屏幕需要用户在浏览器中提供用户名和密码,那么这些值将发布到服务器进行验证,然后服务器端代码将执行逻辑并返回给网络浏览器进行显示。在这个主题中,我们将学习ASP.NET PostBack。

语法

ASP.net回传可以用于这种情况,在这种情况下,一些关键的或安全的任务不能从客户端浏览器中处理;在这种情况下,我们需要服务器站点的关注,回传实际上就出现了。如果在一个网页中有多个web控件,该web控制器必须有自己的自动回贴定义。ASP.net有自己的自动回帖配置,它可以在JavaScript函数中定义。当那个特定的Java脚本函数被调用时,它将自动推送回溯,也就是把所需的数据发送到相应的Web服务器上。

<script language="javascript">
Function doPostBack (target, eventArgs) {
if ( !formName.onsubmit || (formName.onsubmit() != false)) {
fromName.targetField.value = target;
fromName.evenArgsField.value = eventArgs;
fromName.submit();
}
</script>

这个JavaScript函数主要是在需要回溯时被触发的,这个方法设置了目标URL的值,并要求通过该事件的post参数,然后提交相应的表单。

隐藏字段实际上也是为一个网页保存多个数据所需要的。例如,下面是两个字段,主要用于回贴和设置javascript值。

<input type="hidden" name="evenArgsField" id="evenArgsField" value="" />
<input type="hidden" name="targetField" id="targetField” value="" />

这个doPostBack方法通常是由ASP.net应用程序自动创建的,开发者不需要手动创建这个方法。ASP.net应用程序可以通过使用上述的javascript方法作为中介,轻松地将一个客户端的程序与服务器端的程序进行交流。

每个ASP.net网页通常都遵循一个特定的生命周期,如下所示:

  • javascript doPostBack函数从客户端浏览器中被调用,客户端浏览器的页面被提交到服务器端进行进一步处理。
  • ASP.net内部运行ASPX代码并重新生成页面。
  • 然后ASP.net ASPX代码从隐藏字段值中读取所需的信息或特定的状态信息,做相应的要求任务,并更新该特定的控件。
  • 然后ASP.net调用页面的加载过程。
  • 然后适当的或合适的控件已经被触发了变化事件。
  • 在触发了相应的甚至控制器后,页面根据回贴值进行填充。
  • 最后,页面的卸载事件被触发。
  • 现在创建一个新的页面,这个页面已经被发送到客户端进行最终展示。

实现ASP.NET回传的例子

可以有多个例子来展示ASP.net回溯应用程序。其中一个最大的例子是通过生成一个跟踪事件的应用程序来理解。这个应用程序提供了一个基于其适当配置的触发事件的视图。

事件触发器应用程序确保用户从屏幕上的任何数据将通过调用一个特定的事件触发器来添加,这个特定的逻辑写在相应的ASPX dot net类的日志方法中。所以现在,当他们把多个数据添加到列表中时,每次都会返回并作为回传响应显示在屏幕上。所以现在,如果我们放一些额外的单选按钮来捕获这些回溯响应,它将出现在事件的最后,以正确理解这个回溯在dot net web应用程序中的实际作用。

  • 在visual studio中创建一个项目来创建一个事件跟踪器应用程序。
  • 选择合适的DOT net版本来进行进一步的处理。
  • 创建一个特定的项目来映射一个特定的对象。
  • 在ASP.net应用程序中选择需要一个模板来进一步处理。
  • 选择特定的文本框,以预期的方式设计页面。
  • 设计页面创建一个多选复选框,用于展示仪表板。
  • 事件触发器控制来自visual studio工具的仪表板设计预览。
  • 为设计页面创建一个特定的单选按钮。
  • 定义单选按钮的单独事件处理类。
  • 为事件触发器应用程序完成设计。
  • 创建一个编辑框并定义相应的任务。
  • 完成事件触发器应用程序的设计后,自动生成HTML代码。
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ETracker.aspx.cs" Inherits="ETracker" %>
<head>
<title>Event Tracker</title>
</head>
<body>
<form id="formE" >
<div>
<h1>Monitoring the control for every change event:</h1>
<asp:TextBox ID="txt1" runat="server" AutoPostBack="true" OnTextChanged="ControlChange" />
<br />
<asp:CheckBox ID="chk1" runat="server" AutoPostBack="true" OnCheckedChanged="ControlChange"/>
<br />
<asp:RadioButton ID="opt11" runat="server" GroupName="Example"
AutoPostBack="true" OnCheckedChanged="ControlChange"/>
<asp:RadioButton ID="opt21" runat="server" GroupName="Example"
AutoPostBack="true" OnCheckedChanged="ControlChange"/>
<h1>Require expected Events: </h1>
<asp:ListBox ID="listE" runat="server" Width="380px"
Height="160px" /><br />
<br />
</div>
</form>
</body>
</html>
  • 对应ASPX代码库中处理这些事件的主控变化方法。
protected void ControlChange(Object sender, EventArgs e)
{
string controlName = ((Control)sender).ID;
Log(controlName + " Triggered");
}
private void Log(string entry)
{
listE.Items.Add(entry);
listE.SelectedIndex = listE.Items.Count - 1;
}
}
  • 在ASPX类中编写了后退逻辑,用于根据事件触发器正确显示数据。
  • 呈现页面加载和预渲染事件。
  • 勾选相应的复选框以进一步填充相应的事件。
  • 不勾选复选框将在屏幕上填充整个列表数据。
  • 第1个单选按钮被选中,那么它在页面上弹出相应的事件列表。
  • 第2个单选按钮的点击将得到回传的细节列表,并在事件列表框中呈现相同的内容。

结论

ASP.net回溯是点网络服务器的默认特性。它必须要求在客户端代码和服务器端代码之间进行通信。客户端浏览器总是希望通过服务器端代码来设计业务逻辑或数据库通信的安全性。因此,在ASP.net网络应用程序中,任何关键的业务逻辑实现或数据库通信回溯是必须的。

作者:迪鲁宾
链接:https://juejin.cn/post/7117619002020462606

给TA打赏
共{{data.count}}人
人已打赏
.Net Core

ASP.NET Core连接字符串简介

2022-7-15 19:49:06

.Net Core

ASP.NET Core监控—引入Prometheus(一)

2022-7-18 18:39:43

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索