6.创建记录修改页面
相关介绍(注意:为了能显示代码,以下所有代码都在“<”之后和“>”之前加了空格,不便之处请多原谅!):
对数据的添加,修改,删除是对数据库的三个基本操作。本节介绍修改记录部分。
step 1 设计修改流程
一般来说,只需要对指定的记录进行更新,所以需要建立搜索页面进行查询,并将查询结果显示在结果页中,并让用户对其进行修改。最后通过提交操作完成更新任务。
首先,建立查询页面。在建立dataset的过程中,我们可以通过数据过滤器filter选择所需的数据。由于我们将会点击datalist中的链接来到达此页面,所以选择url parameter并利用关键字code来筛选出所需的页面。
[图 6-1筛选数据]
为此,在站点中新建modify.aspx文件,并添加dataset如上图。
step2 建立细节页面
为了产生链接,首先应建立导航页面。可以对在第3节中建立的datagrid页面修改达到这样的导航效果。datagrid的样式是修改的,数据项同样可以设置为显示有链接的文字。同样在datalist和repeater中也可以实现同样的功能,都是设置一个超级链接到细节页面。
打开原来的location2.aspx文件,修改原来的datalist样式。选择datalistm单击edit columns(如图6-2)。在弹出的datagrid样式设计对话框(图6-3)中,可以将location_name的类型设置为hyperlink。选中location_name,单击change column type按钮更改为hyperlink。
[图 6-2 edit columns..]
[图 6-3 设置hyperlink]
对于hyperlink设置如下图,
[图 6-4 设置链接关键字]
显示的数据域location_name,连接关键字为code,需要跳转到的页面就是modify.aspx页面。点击链接后具体的网址链接将会为
http://yoursite/modify.aspx?code=所点击的纪录的code的值
而modify.aspx页面也将会通过传来的code的值从数据库中查询所需的纪录。
为了在modify.aspx页面中更新数据,就需要用到表单。这就需要将数据记录和输入框绑定。在dreamweaver mx中绑定数据的方式和dreamweaver ultradev中类似。将页面设置如图6-5。新建6个text field,1个hiddenfield,1个submit按钮,放到适当的位置。其中hiddernfield用于保存此记录的code值。因为code值为关键字,所以不需改变。
[图 6-5 modify.aspx页面]
单击binding标签,将具体数据项拖到与之对应的text field。同时在format中可以设置数据的显示类型。而同样可以将text field的所有属性和数据源绑定。选择记录的第一个下拉
[图6-6 binding] [图 6-7 数据类型选择] [图6-8 绑定属性]
列表,设置被数据源绑定的text field属性。
step 3数据更新
至于数据更新可以点击application面板中的server behaviors中的”+”按钮,选择update record。
[图 6-9 选择update record]
[图6-10 设置关联]
在弹出的对话框中,需将输入框和相对应更新的数据源关联起来,并设置数据类型。其中code应为关键字即primary key。类似于insert record的页面,还要设置成功添加和添加失败跳转到的页面。
现在可以预览一下做好的页面。输入网址http://yoursite/location3.aspx,可以看到如图6-11的页面。
[图6-11 location3.aspx页面浏览]
location_name的一项是可以点击的,并将跳到细节页面modify.aspx。
[图6-12 更新页面预览]
通过modify.aspx页面就可以修改现有数据,并可以通过表单提交事件来更新数据。
其更新的主要代码如下:
< mm:update
runat="server"
commandtext='< %# "update locations set city=?, state_country=?, fax=?, telephone=?, address=? where code=?" % >'
connectionstring='< %# system.configuration.configurationsettings.appsettings("mm_connection_string_location") % >'
databasetype='< %# system.configuration.configurationsettings.appsettings("mm_connection_databasetype_location") % >'
expression='< %# request.form("mm_update") = "form1" % >'
createdataset="false"
successurl='< %# "location3.aspx" % >'
debug="true"
>
< parameters >
< parameter name="@city" value='< %# iif((request.form("city") < > nothing), request.form("city"), "") % >' type="wchar" / >
< parameter name="@state_country" value='< %# iif((request.form("state") < > nothing), request.form("state"), "") % >' type="wchar" / >
< parameter name="@fax" value='< %# iif((request.form("fax") < > nothing), request.form("fax"), "") % >' type="wchar" / >
< parameter name="@telephone" value='< %# iif((request.form("tele") < > nothing), request.form("tele"), "") % >' type="wchar" / >
< parameter name="@address" value='< %# iif((request.form("address") < > nothing), request.form("address"), "") % >' type="wchar" / >
< parameter name="@code" value='< %# iif((request.form("hiddenfield") < > nothing), request.form("hiddenfield"), "") % >' type="wchar" / >
< /parameters >
< /mm:update >
dreamweaver mx是通过mm:update来表识更新的代码的。其格式和mm:insert类似。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器