在项目中的页面中经常会遇到界面的赋值与取值,特别是页面中项特别多的时候,取值和赋值往往是体力活。 在组件中添加了一个简单的辅助,取值通过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:TextBoxbr / SupplierID:asp:TextBox runat="server" ID="txt_SupplierID"/asp:TextBoxbr / CategoryID:asp:TextBox runat="server" ID="txt_CategoryID"/asp:TextBoxbr / QuantityPerUnit:asp:TextBox runat="server" ID="txt_QuantityPerUnit"/asp:TextBoxbr / UnitPrice:asp:TextBox runat="server" ID="txt_UnitPrice"/asp:TextBoxbr / UnitsInStock:asp:TextBox runat="server" ID="txt_UnitsInStock"/asp:TextBoxbr / UnitsOnOrder:asp:TextBox runat="server" ID="txt_UnitsOnOrder"/asp:TextBoxbr / ReorderLevel:asp:TextBox runat="server" ID="txt_ReorderLevel"/asp:TextBoxbr / 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.FromProducts().ToFirst(); EntityUtils.SetDocumentValueProducts(product, "txt_"); 再看执行效果: 已经赋值成功了。 具体的实现是通过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.UpdateModelProducts(product, "txt_"); //添加操作 DbSession.Default.InsertProducts(product); 运行结果如下: 已经成功添加了一条数据,并查询了出来。 赋值和取值的 txt_参数是控件的前缀,这样可以区别开来,并且可以多个实体共存于一个页面,并且都执行赋值和取值操作,不会互相影响。 也可以根据具体字段进行赋值,详见SetDocumentValue方法的其他重载。 下载