数据库组件 Hxj.Data (三十)(Asp.Net 页面自动赋值与取值)

30 篇文章 0 订阅
30 篇文章 0 订阅

在项目中的页面中经常会遇到界面的赋值与取值,特别是页面中项特别多的时候,取值和赋值往往是体力活。

在组件中添加了一个简单的辅助,取值通过Request.From[“”]来实现,赋值则document.getElementById(“”).value来实现。

下面我们来看示例代码:

例子是:Northwind数据库的Products表

页面代码:


   
   DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title> title>
head>
<body>
<form id="form1" runat="server">
ProductName:<asp:TextBox runat="server" ID="txt_ProductName"> asp:TextBox><br />
SupplierID:<asp:TextBox runat="server" ID="txt_SupplierID"> asp:TextBox><br />
CategoryID:<asp:TextBox runat="server" ID="txt_CategoryID"> asp:TextBox><br />
QuantityPerUnit:<asp:TextBox runat="server" ID="txt_QuantityPerUnit"> asp:TextBox><br />
UnitPrice:<asp:TextBox runat="server" ID="txt_UnitPrice"> asp:TextBox><br />
UnitsInStock:<asp:TextBox runat="server" ID="txt_UnitsInStock"> asp:TextBox><br />
UnitsOnOrder:<asp:TextBox runat="server" ID="txt_UnitsOnOrder"> asp:TextBox><br />
ReorderLevel:<asp:TextBox runat="server" ID="txt_ReorderLevel"> asp:TextBox><br />
Discontinued:<asp:CheckBox ID="txt_Discontinued" runat="server" /><br />
<asp:Button ID="Button1" runat="server" Text="提交Insert" OnClick="Button1_Click" />
<asp:GridView ID="gridView" runat="server">
asp:GridView>
form>
body>
html>

后台赋值代码:

Products product = DbSession.Default.From<Products>().ToFirst();
EntityUtils.SetDocumentValue<Products>(product, "txt_");

 

再看执行效果:

image

已经赋值成功了。

具体的实现是通过js来赋值的:

var txt_ProductID=document.getElementById('txt_ProductID');if(txt_ProductID)txt_ProductID.value='1';
var txt_ProductName=document.getElementById('txt_ProductName');if(txt_ProductName)txt_ProductName.value='char/'s/'';
var txt_SupplierID=document.getElementById('txt_SupplierID');if(txt_SupplierID)txt_SupplierID.value='1';
var txt_CategoryID=document.getElementById('txt_CategoryID');if(txt_CategoryID)txt_CategoryID.value='1';
var txt_QuantityPerUnit=document.getElementById('txt_QuantityPerUnit');if(txt_QuantityPerUnit)txt_QuantityPerUnit.value='10 boxes x 20 bags';
var txt_UnitPrice=document.getElementById('txt_UnitPrice');if(txt_UnitPrice)txt_UnitPrice.value='150.8000';
var txt_UnitsInStock=document.getElementById('txt_UnitsInStock');if(txt_UnitsInStock)txt_UnitsInStock.value='39';
var txt_UnitsOnOrder=document.getElementById('txt_UnitsOnOrder');if(txt_UnitsOnOrder)txt_UnitsOnOrder.value='0';
var txt_ReorderLevel=document.getElementById('txt_ReorderLevel');if(txt_ReorderLevel)txt_ReorderLevel.value='10';
var txt_Discontinued=document.getElementById('txt_Discontinued');if(txt_Discontinued){try{txt_Discontinued.checked=true;}catch(err){txt_Discontinued.value='1'}}

 

其实并不是所有都适合,使用前先考虑清楚。

 

那我们点击提交按钮,则是添加一条记录,通过取值来实现。

按钮的后台代码:

Products product = new Products();
//获取页面中输入的值
EntityUtils.UpdateModel<Products>(product, "txt_");
//添加操作
DbSession.Default.Insert<Products>(product);
运行结果如下:
image 
已经成功添加了一条数据,并查询了出来。
 
赋值和取值的 ”txt_”参数是控件的前缀,这样可以区别开来,并且可以多个实体共存于一个页面,并且都执行赋值和取值操作,不会互相影响。
 
也可以根据具体字段进行赋值,详见SetDocumentValue方法的其他重载。

 

下载

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值