📄 admin_news.aspx
字号:
<%@ Page Language="VB" ContentType="text/html" validateRequest=false%>
<%@ Import Namespace="system.data" %>
<%@ Import Namespace="system.data.oledb" %>
<%@ Register TagPrefix="admin" TagName="menu" Src="../lib/adminmenu.ascx" %>
<%@ Register TagPrefix="admin" TagName="foot" Src="../lib/adminfoot.ascx" %>
<script runat="server">
dim conn as new oledbconnection("provider=microsoft.jet.oledb.4.0; data source="+server.MapPath("../data/news.mdb"))
dim objcmd as new oledbdataAdapter("select news_id,news_date as 日期,news_title as 标题,news_author as 作者,news_ahome as 来源,news_count as 点击,news_keyword as 关键字 from news order by news_id DESC",conn)
dim ds as new dataset("my")
'页面载入时的动作(page load action)
sub page_load(obj as object, e as eventargs)
if not page.Ispostback then
filldatagrid()
end if
end sub
'填充数据
sub getdata()
objcmd.fill(ds, "news")
'define primary key
dim keys() as datacolumn={ds.tables("news").columns("id")}
ds.tables("news").primarykey=keys'与主键关联
end sub
'编辑时的动作(edit action)
sub dgdata_edit(obj as object, e as datagridcommandeventargs)
filldatagrid(e.item.itemindex)
end sub
'删除
sub dgdata_delete(obj as object, e as datagridcommandeventargs)
try
getdata()
ds.tables("news").rows(dgdata.pagesize*dgdata.currentpageindex+e.item.itemindex).delete'在dataset中删除所选行
executestatement()'更新数据
response.Write("ID:[" & dgdata.datakeys(e.item.itemindex) & "]数据被删除!")
filldatagrid()
'response.Write("第" & dgdata.pagesize*dgdata.currentpageindex+e.item.itemindex & "行数据被删除!")
catch ex as exception
response.Redirect(request.ServerVariables("PATH_INFO"))
end try
end sub
'升级
sub dgdata_update(obj as object, e as datagridcommandeventargs)
if updatedatastore(e) then'如果修改成功
filldatagrid(-1)'填充数据
end if
end sub
sub dgdata_cancel(obj as object, e as datagridcommandeventargs)
filldatagrid(-1)
end sub
'升级修改
function updatedatastore(e as datagridcommandeventargs) as boolean
dim i,j as integer
dim params(7) as string
dim strtext as string
dim blngo as boolean=true
j=0
getdata()
for i=3 to e.item.cells.count-1'从零起始,在二个单元格开始收集所有的单元格数据
strtext=ctype(e.item.cells(i).controls(0),textbox).text '循环收集每个单元格中的数据
try
'修改所选行单元格中的数据
ds.tables("news").rows(dgdata.pagesize*dgdata.currentpageindex+e.item.itemindex)(j)=strtext
catch ex as exception
response.Write(ex.message)
end try
j+=1
next
if not blngo then
return false
exit function
end if
executestatement()
'response.write("第" & dgdata.pagesize*dgdata.currentpageindex+e.item.itemindex & "行数据被更新!")
response.Write("ID:[" & dgdata.datakeys(e.item.itemindex) & "]数据被更新!")
return blngo
end function
'填充数据
sub filldatagrid(optional editindex as integer=-1)
getdata()
if not editindex.equals(nothing) then
dgdata.edititemindex=editindex
end if
dgdata.datasource=ds
dgdata.datamember="news"
dgdata.databind()
end sub
'执行更改dataset中的数据
function executestatement()
dim objautogen as new oledbcommandbuilder(objcmd)
try
objcmd.update(ds,"news")
catch ex as exception
response.write(ex.message)
end try
ds.clear
end function
'排序
sub dgdata_sort(obj as object,e as datagridsortcommandeventargs)
'sortfield=e.sortfield
'filldatagrid()
end sub
'翻页程序
sub dgdata_pageindexChanged(obj as object,e as datagridpagechangedeventargs)
dgdata.currentpageindex=e.newPageindex
dgdata.databind()
filldatagrid()
end sub
sub dgdata_select(obj as object, e as eventargs)
dim vindex as integer
dim vkey as string
try
vindex=dgdata.selectedindex
vkey=dgdata.datakeys(vindex).tostring
response.Redirect("admin_news_edit.aspx?id=" & vkey)
catch ex as exception
response.Write(ex.message & "--" & vindex)
end try
end sub
</script>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>新闻管理</title>
<link href="../site_css.css" rel="stylesheet" type="text/css">
</head>
<body background="../images/bg1.gif">
<table width="100%" border="0" cellspacing="0" cellpadding="0" align="center">
<tr align="center">
<td height="8" colspan="3">
</td>
</tr>
<tr>
<td width="150" align="left" valign="top"> <admin:menu runat="server"/> </td>
<td width="1" background="../images/dotlinev.gif"></td>
<td width="554" valign="top">
<form runat="server">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<a href="admin_news.aspx">[新闻管理]</a>
<a href="admin_news_add.aspx">[增加新闻]</a>
<p></td>
</tr>
<tr>
<td width="175">
<asp:datagrid ID="dgdata" runat="server" BorderStyle="Dotted" BorderColor="black" Font-Name="arial" Font-Size="8pt" CellPadding="4" CellSpacing="0" Width="100%" AutoGenerateColumns="true" OnEditCommand="dgdata_edit" OnCancelCommand="dgdata_cancel" OnUpdateCommand="dgdata_update" OnDeleteCommand="dgdata_delete" ShowHeader="true" OnPageIndexChanged="dgdata_pageindexChanged" HeaderStyle-BackColor="#CCCCCC" AllowPaging="true" PageSize="10" PagerStyle-Mode="numericpages" PagerStyle-Font-Name="arial" PagerStyle-PageButtonCount="5" DataKeyField="news_id" OnSelectedIndexChanged="dgdata_select" >
<columns>
<asp:buttoncolumn text="Change" commandname="select"/>
<asp:editcommandcolumn EditText="EDIT" CancelText="Cancel" UpdateText="Update" HeaderText="EDIT"/>
<asp:buttoncolumn HeaderText="DELETE" text="Delete" commandname="delete"/>
</columns>
</asp:datagrid>
<p></p>
</td>
</tr>
</table>
</form>
<br>
</td>
</tr>
<tr>
<td colspan="3" height="1" background="../images/dotlineh.gif"></td>
</tr>
</table>
<admin:foot runat="server"/>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -