在这个试一试练习中在Fixturesaspx页面内添加INSERT功能由于不能在GridView中添加新记录因此这里只会影响到DetailsView控件
()在VWD的Source View模式下打开Fixturesaspx页面向下滚动并找到SqlDataSource控件(DetalsView控件的数据源)注意在上一个练习中当VWD添加更新记录的功能时它还为插入和删除操作添加了类似的标记因此在这个数据源控件中插入行为已经激活了
()选中DetailsView控件打开它的Common Tasks面板激活插入功能
()在Properties窗口中找到DefauItMode并将它的值修改为Insert
()保存并在浏览器中查看该页面尝试添加一场新的比赛并刷新该页面
()最后一步试着添加一些无效的数据例如将//设置为日期注意此时对错误的处理非常粗糙第章讨论错误处理
操作回顾
这个过程中的很多标记都是在上一个练习中配置数据源和VWD提供Advanced按钮和选项创建INSERT UPDATE以及DELETE命令时就创建好的尽管这些标记的数量非常之多但现在您应该能明白这种命令加上一组参数的模式是怎样激活数据写入功能的了
具体而言是使用SqlDataSource的InsertCommand命令SqlDataSource是DetailsView的数据源控件这个命令依赖于InsertParameters集如下面的代码所示注意这里不需要WHERE子句因为不需要根据己存在的记录执行该操作
<asp:SqlDataSource ID=SqlDataSource…
InsertCommand=INSERT INTO [Fixtures] ([FixtureDate] [FixtureType] [GoalsFor] [GoalsAgainst] [Notes] [Opponents]) VALUES (@FixtureDate @FixtureType @GoalsFor @GoalsAgainst @Notes @Opponents)
…
<InsertParameters>
<asp:Parameter Name=FixtureDate Type=DateTime />
<asp:Parameter Name=FixtureType Type=String />
<asp:Parameter Name=GoalsFor Type=Int />
<asp:Parameter Name=GoalsAgainst Type=Int />
<asp:Parameter Name=Notes Type=String />
<asp:Parameter Name=Opponents Type=String />
</InsertParameters>
…
</asp:SqlDataSource>
ASPNET 以上一节中处理UPDATE操作类似的方法处理INSERT操作当在Advanced对话框中选择相关选项时VWD创建了一条带有一个参数集的INSERT INTO语句这个参数集将保存用户输入的数据当在数据绑定控件中激活INSERT功能时VWD该控件增加了CommonField(按钮)以添加新记录藏在您所看到的数据控件中惟一需要记住的是在记录但在GridView中不行其余所有代码都由Microsoft负责隐藏在您所看到的数据控件中惟一需要记住的是在DetailsView和Form`liew中可以插入新记录但在GridView中不行
ASPNET 入门教程完整版
[] []