动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   .Net → 阅读文章

 关于datagrid的使用以及动态修改,以及使用存储过程的介绍

作者:michael_wp(转) 来源:Chinaasp论坛 
阅读 数 621 人次 , 2001-5-24 

1.关于Datagrid,Datalist等数据绑定控件
由于vs.net是Codebehind的, 而quickstart 上的例子是代码与页面混合的,所以许多朋友有些疑惑。特别是有关template中如何触发事件的问题。
是这样,许多server control都有一个commandname属性
就是在.aspx中设置你那个edit的commandname,在.cs中用e.CommandName 得到

///aspx页面
<asp:DataList id=usersList runat="server" ></P><P><template name="ItemTemplate">
<asp:ImageButton id=ImageButton1 runat="server" ImageUrl="../images/edit.gif" AlternateText="编辑条目" CommandName="edit"></asp:ImageButton>
<asp:ImageButton id=ImageButton2 runat="server" ImageUrl="../images/delete.gif" AlternateText="删除条目" CommandName="delete"></asp:ImageButton>
<asp:Label id=lblRole runat="server" Text="<%# Container.DataItem%>" CssClass="Normal"></asp:Label>
</template></P><P><template name="EditItemTemplate">
<span class="Normal">email (cookie auth) or DOMAIN\username (Windows auth)</span><br />
<asp:Textbox id=userName width="200" cssclass="NormalTextBox" Text="<%# Container.DataItem %>" runat="server" />
<asp:LinkButton Text="Apply" CommandName="apply" cssclass="CommandButton" runat="server" ID=ApplyButton/>
</template></P><P></asp:DataList></P><P></P><P>///cs文件
protected void UsersList_ItemCommand (Object sender, DataListCommandEventArgs e)
{
if (e.CommandName == "edit") {</P><P> // Set editable list item index if "edit" button clicked next to the item
usersList.EditItemIndex = e.Item.ItemIndex;</P><P> // Repopulate the datalist control
BindData();
}
else if (e.CommandName == "apply") {</P><P> // Obtain the current portal settings
PortalConfigurationData portalConfig = PortalConfiguration.LoadSettings(PortalConfiguration.ConfigFilePath);</P><P> // Update user entry
portalConfig.SecurityRoles[roleIndex].Users[e.Item.ItemIndex] = ((TextBox) e.Item.FindControl("userName")).Text;</P><P> // Persist Settings back to disk
PortalConfiguration.PersistSettings(portalConfig);</P><P> // Disable editable list item access
usersList.EditItemIndex = -1;</P><P> // Repopulate the datalist control
BindData();
}
else if (e.CommandName == "delete") {</P><P> // Obtain the current portal settings
PortalConfigurationData portalConfig = PortalConfiguration.LoadSettings(PortalConfiguration.ConfigFilePath);</P><P> // Delete selected User
String[] users = new String[portalConfig.SecurityRoles][roleIndex].Users.Length-1];</P><P> for (int i=0, j=0; i < portalConfig.SecurityRoles[roleIndex].Users.Length; i++) {</P><P> if (i != e.Item.ItemIndex) {</P><P> users[j] = portalConfig.SecurityRoles[roleIndex].Users[i];
j++;
}
}</P><P> // Update Users
portalConfig.SecurityRoles[roleIndex].Users = users;</P><P> // Persist Settings back to disk
PortalConfiguration.PersistSettings(portalConfig);</P><P> // Ensure that item is not editable
usersList.EditItemIndex = -1;</P><P> // Repopulate list
BindData();
}
}
2.关于在asp.net中调用存储过程
例子如下:
SQLConnection myConnection = new SQLConnection(PortalConfiguration.Settings.DatabaseConnectionString);
SQLCommand myCommand = new SQLCommand("AddMessage", myConnection);</P><P> // Mark the Command as a SPROC
myCommand.CommandType = CommandType.StoredProcedure;</P><P> // Add Parameters to SPROC
SQLParameter parameterItemID = new SQLParameter("@ItemID", SQLDataType.Int, 4);
parameterItemID.Direction = ParameterDirection.Output;
myCommand.Parameters.Add(parameterItemID);</P><P> SQLParameter parameterTitle = new SQLParameter("@Title", SQLDataType.NVarChar, 100);
parameterTitle.Value = title;
myCommand.Parameters.Add(parameterTitle);</P><P> SQLParameter parameterBody = new SQLParameter("@Body", SQLDataType.NVarChar, 3000);
parameterBody.Value = body;
myCommand.Parameters.Add(parameterBody);</P><P> SQLParameter parameterParentID = new SQLParameter("@ParentID", SQLDataType.Int, 4);
parameterParentID.Value = parentId;
myCommand.Parameters.Add(parameterParentID);</P><P> SQLParameter parameterUserName = new SQLParameter("@UserName", SQLDataType.NVarChar, 100);
parameterUserName.Value = userName;
myCommand.Parameters.Add(parameterUserName);</P><P> SQLParameter parameterPortalID = new SQLParameter("@PortalID", SQLDataType.Int, 4);
parameterPortalID.Value = portalId;
myCommand.Parameters.Add(parameterPortalID);</P><P> SQLParameter parameterModuleID = new SQLParameter("@ModuleID", SQLDataType.Int, 4);
parameterModuleID.Value = moduleId;
myCommand.Parameters.Add(parameterModuleID);

  
 本文Tags存储过程  tag  
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:Microsoft.NET为什么难于理解
· 下一篇:为ADO程序设计的ADO.NET(二)
· 关于C# 查询 功能的实现代码
· Allaire JRUN 2.3远程执行任意命令漏洞 
· 带你走进ASP.NET(1)
· 利用c#制作简单的留言板
· 用控件仅一条指令实现界面换肤和多语言版本


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077