iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >ASP.NET Web开发中如何进行数据输入窗体
  • 761
分享到

ASP.NET Web开发中如何进行数据输入窗体

2023-06-17 09:06:18 761人浏览 薄情痞子
摘要

这期内容当中小编将会给大家带来有关asp.net web开发中如何进行数据输入窗体,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。WEB框架要达到快速开发,又便于维护,进行了一系列的努力。请看最初始的ASP

这期内容当中小编将会给大家带来有关asp.net web开发中如何进行数据输入窗体,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

WEB框架要达到快速开发,又便于维护,进行了一系列的努力。

请看最初始的ASP.net页面,对数据进行操作的代码,页面的基本代码如下所示

protected void Page_Load(object sender, EventArgs e)  {         if (!IsPostBack)         {                LoadData();          }  }   private void LoadData()   {       UserEntity  current=GetUser();
     tbxName.Text = current.Name;       tbxRemark.Text = current.Remark;  }   protected void btnSave_Click(object sender, EventArgs e)  {                 int id = GetQueryIntValue("id");                      IXRoleManager menuManager = ClientProxyFactory.CreateProxyInstance<IXRoleManager>();              XRoleEntity item = menuManager.GetXRole(id);               item.Name = tbxName.Text.Trim();              item.Remark = tbxRemark.Text.Trim();                       menuManager.SaveXRole(item);              ExtAspNet.Alert.Show("Save successfully");  }

在Page_Load中加载数据,并绑定到控件中去。在保存按钮事件中,把用户修改过的值,再写回到数据库中。这样的代码,在项目中要重复很多次,数据项越多,所需要的代码量越大。有没有一种办法,可以实现自动绑定数据到控件中,在保存中,又自动将数据写回到数据库中去呢? Enterprise Solution以下面的方法来实现。

Enterprise Solution对于要输入数据并保存到数据库中的这一类操作,统一提供相同的界面,对数据快速操作。以记事本为例子,它的最终效果是这样的

ASP.NET Web开发中如何进行数据输入窗体

工具栏按钮由框架自动加载,当你的类型继承自EntryPageBase时,它就会加载工具栏,用于操作数据。

[Function("aiITRL", "~/module/note.aspx")]  public partial class note : EntryPageBase  {          protected override void PageLoadEvent(object sender, EventArgs e)          {              if (!IsPostBack)                             TransactionType = "BlotterEntity";                                          base.PageLoadEvent(sender, e);          }  }

重写基类的PageLoadEvent方法,传入TransactionType ,框架以TransactionType 来识别界面的实体对象,自动实现读写操作。页面中的加载,保存,删除按钮事件的代码如下,可以看到,它们都是在重写基类的方法

public override EntityBase2 LoadEntity(string customerNo)   {       IBlotterManager manager = ClientProxyFactory.CreateProxyInstance<IBlotterManager>();       BlotterEntity customer = manager.GetBlotter(Convert.ToInt16(customerNo));       return customer;   }        public override void DeleteEntity(EntityBase2 entity)   {       BlotterEntity user = (BlotterEntity)entity;       IBlotterManager manager = ClientProxyFactory.CreateProxyInstance<IBlotterManager>();       manager.DeleteBlotter(user);   }    public override void SaveEntity(EntityBase2 entity)   {       BlotterEntity user = (BlotterEntity)entity;       IBlotterManager manager = ClientProxyFactory.CreateProxyInstance<IBlotterManager>();       manager.SaveBlotter(user);   }

如你所看到的,这就是所有的代码,关于数据加载,保存,删除的代码,没有数据绑定,也没有数据回写到数据库中的代码。***,来看一下,ASPX页面,是如何达到这个目的的

<ext:NumberBox ID="TextBox3" AutoFind="true"  runat="server" Label="Title" DataBindingString="BlotterEntity:Id"></ext:NumberBox>

每一个需要绑定数据的ExtAspNet控件,附带一个DataBindingString属性,指出绑定到对象的属性名。这个数字输入框是绑定到记事本的Id属性,在设计时,你可以这样指定它

Web框架提供了快速的数据属性绑定支持,请先在配置文件中指定需要反射的程序集完整路径。

<appSettings>      <add key="Assembly" value="E:\Solution\Enterprise Solution\Build\Benin.BusinessLogic.dll"/>   </appSettings>

DataBindingString的编辑器,反射此程序集,把它的属性显示在ListView中,用于绑定。

应用此模型,明显的减少了代码量。比如,有100个控件,就要写100行读取值并到绑定到界面中的代码,在保存时,再写100行代码,把值回写到数据库中。而此开发方法,数据的绑定是自动的,您只需要指定必要的属性,框架会为你做好其它的事情。再来看看,要实现此方法,背后要做出的努力

1  需要指定要反射的类型,TransactionType = "BlotterEntity"; 这一句的作用相当关键。

2  将反射的值,绑定到控件。依据反射,赋值的代码,如下所示

ReflectionHelper.SetPropertyValue(textbox, targetProperty, obj);

这一句就是用来给值的,把从数据库中取到值,转化为可用的类型,赋给textbox的Text属性,完成数据绑定。

3  回写值到数据库中。依然是反射,把值取到,赋给Entity

object obj = ReflectionHelper.GetPropertyValue(textbox, targetProperty);  object converted = Convert.ChangeType(obj, type);  ReflectionHelper.SetPropertyValue(entity, arr[1], converted);

如代码所示,取到值,回写到实体类的属性中。起关键作用的,还是DataBindingString字符串

再来看看,主从表数据的读写,这比上面的单表读写,要复杂一些。

ASP.NET Web开发中如何进行数据输入窗体 

销售单由表头,参考编号和明细多行物料编号组成。表头的读写,可以用上面的方法,在明细的数据读取上,重写方法

protected override void InitNavigator(EntityBase2 entity)  {         SalesOrderEntity user = (SalesOrderEntity)entity;         Grid1.DataSource = user.SalesOrderDetails;         Grid1.DataBind();  }

InitNavigator用于获取当前实体,绑定值到明细列表中。Insert按钮的的实现原理如下,它把表头的主键值,带到明细页面中去,用HiddenField藏在页面中。这样,在保存明细时,以此值作为主键保存。当返回表头时,刷新主表,重新获取值,则可以显示明细表增加的值。

上述就是小编为大家分享的ASP.NET Web开发中如何进行数据输入窗体了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网精选频道。

--结束END--

本文标题: ASP.NET Web开发中如何进行数据输入窗体

本文链接: http://www.lsjlt.com/news/288128.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • ASP.NET Web开发中如何进行数据输入窗体
    这期内容当中小编将会给大家带来有关ASP.NET Web开发中如何进行数据输入窗体,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Web框架要达到快速开发,又便于维护,进行了一系列的努力。请看最初始的ASP...
    99+
    2023-06-17
  • 如何进行ASP.NET Web开发框架中的查询
    本篇文章为大家展示了如何进行ASP.NET Web开发框架中的查询,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Enterprise Solution 支持用户自定义查询(query and loo...
    99+
    2023-06-17
  • pandas如何进行数据输入和输出
    这篇文章将为大家详细讲解有关pandas如何进行数据输入和输出,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.文本格式数据的读写read_csv():从文件、URL或文件型对象读取分隔好的数据,逗号是默...
    99+
    2023-06-29
  • 如何对ADO.NET 数据集进行添加窗体
    这篇文章主要讲解了“如何对ADO.NET 数据集进行添加窗体”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何对ADO.NET 数据集进行添加窗体”吧!数据集介绍:提供什么是 ADO.NET...
    99+
    2023-06-17
  • web开发中如何为输入框加入数字js校验
    小编给大家分享一下web开发中如何为输入框加入数字js校验,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!js限制只能数字输入,并且在把输入的“非法字符”清除掉之后将焦点停留在输入非法字符的...
    99+
    2024-04-02
  • web开发中如何实现弹窗居中
    小编给大家分享一下web开发中如何实现弹窗居中,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!实现的原理:1,给外围盒子定义一个伪...
    99+
    2024-04-02
  • 如何开始使用C++进行Web开发?
    要使用 c++++ 进行 web 开发,需要使用支持 c++ web 应用程序开发的框架,如 boost.asio、beast 和 cpp-netlib。开发环境中,需要安装 c++ 编...
    99+
    2024-05-11
    c++ web开发 git
  • Python IDE中如何使用Django进行Web开发?
    Python是一门非常流行的编程语言,广泛应用于各个领域。在Web开发领域,Python也有着非常强大的工具和框架。其中,Django是最受欢迎的Python Web框架之一。在本文中,我们将探讨如何在Python IDE中使用Django...
    99+
    2023-07-31
    ide django numy
  • web开发如何进行单元测试
    这篇文章主要介绍“web开发如何进行单元测试”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“web开发如何进行单元测试”文章能帮助大家解决问题。软件软件是可以改变的。...
    99+
    2024-04-02
  • Django如何使用PHP进行Web开发?
    Django和PHP都是非常流行的Web开发框架,但是它们之间的语言和代码结构存在很大的差异。如果你已经熟悉了Django,并且对PHP也有一定的了解,你可能会想知道如何在Django中使用PHP进行Web开发。在本文中,我们将探讨这个问题...
    99+
    2023-09-30
    path django apache
  • 如何根据接口开发web端进行app抓包
    本篇文章为大家展示了如何根据接口开发web端进行app抓包,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。平时喜欢看某个做视频的app,最近app有bug,看着看着就...
    99+
    2024-04-02
  • PHP中如何进行数据管理和数据仓库开发?
    作为一种开源的编程语言,PHP在网站开发和应用开发中得到了广泛的应用。在数据管理和数据仓库开发方面,PHP也具有许多优点和功能。本文将会介绍PHP中的数据管理和数据仓库开发的一些关键技术和方法,以帮助您更好地应用PHP进行数据处理。一、数据...
    99+
    2023-05-21
    数据管理 PHP 数据仓库开发
  • 如何使用ASP.NET AJAX框架来进行AJAX开发
    这篇文章主要为大家展示了“如何使用ASP.NET AJAX框架来进行AJAX开发”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用ASP.NET AJAX框...
    99+
    2024-04-02
  • PHP中如何进行医疗大数据应用开发?
    随着医疗科技的不断发展和进步,医疗大数据应用越来越受到重视。医疗大数据应用可以帮助医生更好地理解和分析病人的健康状况,提高疾病的诊断和治疗水平。因此,如何进行医疗大数据应用开发成为了一个热门话题。PHP作为一种常用的Web开发语言,可以通过...
    99+
    2023-05-14
    PHP 应用开发 医疗大数据
  • PHP开发中如何安全地处理用户输入数据
    随着互联网的发展,用户输入数据在网站和应用程序中起着至关重要的作用。然而,不安全地处理用户输入数据可能会造成严重的安全漏洞,如SQL注入、跨站脚本攻击等。为了确保网站和应用程序的安全性,在PHP开发中,我们需要采取一些安全措施来处理用户输入...
    99+
    2023-10-21
    输入验证 (Input Validation) 数据过滤 (Data Filtering) 防止SQL注入 (Preve
  • Android开发中如何模拟输入
    目录input 指令模拟输入textkeyeventtapswipe主要思路是使用 adb shell input指令来模拟按键及触摸输入。 但是前提是需要root,且华为手机出于安...
    99+
    2024-04-02
  • 如何进行Java和Python的Web开发分析
    今天就跟大家聊聊有关如何进行Java和Python的Web开发分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在Java里面有一种服务端的软件组件技术,叫做Servlet,其实它的...
    99+
    2023-06-04
  • PHP开发中如何使用Memcache进行高效的数据写入和查询?
    PHP开发中如何使用Memcache进行高效的数据写入和查询?随着互联网应用的不断发展,对于系统性能的要求越来越高。在PHP开发中,为了提高系统的性能和响应速度,我们经常会使用各种缓存技术。而其中一个常用的缓存技术就是Memcache。Me...
    99+
    2023-11-07
    查询 Memcache PHP开发 高效 数据写入
  • 如何在PHP中进行嵌入式系统开发?
    随着嵌入式系统在现代工业、医疗、军事等领域的广泛应用,越来越多的开发者开始探索在各种嵌入式设备中使用PHP进行开发。PHP作为一种常用的WEB语言,具有易学易用的特点,因此很多开发者也希望能够通过PHP来方便地开发嵌入式系统。本文将介绍如何...
    99+
    2023-05-20
    开发 PHP 嵌入式系统开发
  • PHP中如何进行WebSockets开发?
    WebSockets是一种在 Web 浏览器和服务器之间实现全双工(bidirectional)通讯的技术。传统的HTTP协议采用的是一种请求 - 响应 (request-response) 的模式,即当客户端向服务器发起请求后,服务器才能...
    99+
    2023-05-14
    开发 PHP WebSockets
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作