??

?

二,什么是aspasp.net网站源码

后缀名为asp的文件用什么软件打开?_百度知道
后缀名为asp的文件用什么软件打开?
我下的图书格式是asp的
我有更好的***
用Dreamweaver打开ASP是Active Server Page的缩写,意为“活动服务器网页”,ASP的网页文件的格式是.asp,现在常用于各种动态网站中。与HTML相比,ASP网页具有6大特点。ASP是Active Server Page的缩写,意为“活动服务器网页”。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。ASP的网页文件的格式是.asp,现在常用于各种动态网站中。 ASP是一种服务器端脚本编写环境,可以用来创建和运行动态网页或web应用程序。ASP网页可以包含HTML标记、普通文本、脚本命令以及COM组件等。利用ASP可以向网页中添加交互式内容(如在线表单),也可以创建使用HTML网页作为用户界面的web应用程序。 与HTML相比,ASP网页具有以下特点:(1)利用ASP可以实现突破静态网页的一些功能限制,实现动态网页技术;(2)ASP文件是包含在HTML代码所组成的文件中的,易于修改和测试;(3)服务器上的ASP解释程序会在服务器端制定ASP程序,并将结果以HTML格式传送到客户端浏览器上,因此使用各种浏览器都可以正常浏览ASP所产生的网页;(4)ASP提供了一些内置对象,使用这些对象可以使服务器端脚本功能更强。例如可以从web浏览器中获取用户通过HTML表单提交的信息,并在脚本中对这些信息进行处理,然后向web浏览器发送信息;(5)ASP可以使用服务器端ActiveX组建来执行各种各样的任务,例如存取数据库、发现哦那个Email或访问文件系统等。(6)由于服务器是将ASP程序执行的结果以HTML格式传回客户端浏览器,因此使用者不会看到ASP所编写的原始程序代码,可放置ASP程序代码被窃取。
采纳率:58%
楼主的问题分为两种情况:一、是直接下载或批量下载的.asp文件。这样只需要把扩展名改为.htm就可以用 IE打开。二、下载的是压缩包,解压后发现是.asp文件。此时需要在本地***一个IIS才能查看到里面的内容。这种情况下,.asp即使用DW或记事本打开了,也只能看到一堆源代码。***方法:在“添加/删除程序”中,选择“添加/删除WINDOWS组件”,再钩选“Internet信息服务(IIS)”,点下一步,(可能需要插入系统盘)***完成后把.asp文件拷到C:\\inetpub\\wwwroot,再打开IE,输入即可。具体可以参照这里:
本回答被提问者采纳
没有下载正确,请从新下载,那是网页格式
Dreamweaver
其他2条回答
为您推荐:
其他类似问题
您可能关注的内容
后缀名的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
***、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。构建你的网站新闻自动发布系统之二_ASP技巧_动态网站制作指南
构建你的网站新闻自动发布系统之二
来源:人气:18779
(二)添加和管理每天的新闻内容
  当进行了新闻提交后,则交由一个名为addnew.的asp程序来对新闻内容进行处理,以便分类和保存,为了显示清析,我们每提交一条新闻,下面的那个新闻内容库就重新读入,以便可以查看新闻是否能成功加入都中,也可以放便地删除新闻内容。 
  现在看看addnew.asp是如何完成程序处理的。
《% @language=&vbscrt& %》
response.buffer=true
Response.Expires=0
(&title&)=request.form(&title&)
session(&comment&)=request.form(&comment&)
session(&pic&)=request.form(&pic&)
session(&class_name&)=request.form(&class_name&)
session(&head&)=request.form(&head&)
'判断传过来的参数符不符合要求
if request.form(&title&)=&& then
response.redirect &delete.asp&
if request.form(&comment&)=&& then
response.redirect &delete.asp&
if request.form(&class_name&)=&& then
response.redirect &delete.asp&
select case request.form(&class_name&)
case &市场风云&
case &IT新闻&
case &广州市场&
case &保 留&
case &保 留&
end select
'连接数据库
《!--#include Virtual=&/news/data/data.inc&--》
Set rs = Server.CreateObject(&ADODB.Recordset&)
sql=&select * from data order by news_id ASC&
rs.open sql,conn,3,2
if rs.bof then
rs.movelast
reco=Clng(rs(&news_id&))+1
rs(&news_id&)=reco
if request.form(&head&)=&YES& then
rs(&news_head&)=-1
rs(&news_class&)=class
rs(&news_class_name&)=request.form(&class_name&)
if request.form(&pic&)《》&& then
rs(&news_pic&)=request.form(&pic&)
rs(&news_title&)=request.form(&title&)&&(图文)&
rs(&news_title&)=request.form(&title&)
if request.form(&head&)=&YES& then
rs(&news_head&)=-1
tmpmess=request.form(&comment&)
tmpmess=replace(tmpmess,chr(10),&
tmpmess=replace(tmpmess,&《&,&《&)
tmpmess=replace(tmpmess,&》&,&》&)
tmpmess=replace(tmpmess,&
rs(&news_comment&)=tmpmess
rs(&news_year&)=year(Date)
rs(&news_month&)=month(Date)
rs(&news_day&)=day(Date)
if Instr(Time,&下午&)》0 then
tmp=left(right(Time,8),2)+12
rs(&news_time&)=tmp&right(Time,6)
rs(&news_time&)=tmp&right(Time,8)
rs(&news_delete&)=0
response.redirect &delete.asp&
  程序中首先判断了提交的新闻是否合符条件,比如新闻标题是不能为空的,而换行符也得转换为html语句的br,否则不能正常地显示出新闻的格式,而这里采用了一个包含文件data.inc,它的用处主要是用于连接不同的数据库,所以asp程序都通过包含这个文件来指定数据源,那么当更改使用别的数据库时,只需要更改这个文件,就能方便地实现来不同数据库间的切换,是不是十分方便呢?
  以下的data.inc文件的内容。
Set conn = Server.CreateObject(&ADODB.Connection&)
DBPath = Server.MapPath(&/&)&&/news/data/data.mdb&
conn.Open &driver={Microsoft
Driver (*.mdb)};dbq=& & DBPath
  还有需要注意一下的是NT和windows 98的日期时间函数所返回的值是不同的,win98是以24小时来计算的,而NT
Server则使用12小时,另外加上“上午”和“下午”来表示,因此需要作出少许的更该处理。
  程序处理完毕后,重新导向delete.asp这个asp文件,用以刷新新闻数据库内的显示,那么每提交一条新闻资料,我们马上可以看见执行的结果是否成功了。
以下是delete.asp的文件内容。
《% @language=&vbscript& %》
response.buffer=true
Response.Expires=0
《!--#include Virtual=&/news/data/data.inc&--》
Set rs = Server.CreateObject(&ADODB.Recordset&)
sql=&select * from data order by news_class ASC,news_id Desc&
'rs.PageSize=100
rs.open sql,conn,3,2
《meta http-equiv=&Content-Type& content=&text/ charset=gb2312&》
《title》新闻数据库中所存的资料《/title》
《meta name=&GENERATOR& content=&Microsoft FrontPage 3.0&》
《style TYPE=&text/&》
.lh22px {font-size:12line-height:22font-family:怎么样免费领取qq红包}
a { text-decoration: none}
body {line-height:18font-size:9font-family:怎么样免费领取qq红包}
td {line-height:18font-size:9font-family:怎么样免费领取qq红包}
a:hover {color:#FF0000;text-decoration:none}
《/style》
《meta name=&Microsoft Border& content=&none&》
《form method=&POST& action=&delete.asp&》
《table border=&0& width=&750& cellpadding=&0&》
《td width=&750& bgcolor=&#EBEBEB& colspan=&2&》《div
align=¢er&》《center》《p》《font
size=&3&》《strong》新闻数据库中所存的资料《/strong》《/font》《/td》
do while not rs.eof
《tr align=¢er&》
《td width=&112& bgcolor=&#EBEBEB&》是否删除:《%if
rs(&news_delete&)=-1 then%》
《input type=&checkbox& name=&《%=rs(&news_id&)%》&
value=&ON&》
《%else%》
《input type=&checkbox& name=&《%=rs(&news_id&)%》&
value=&OFF&》
《%end if%》
《td width=&638& bgcolor=&#FAFAFA& align=&left&》《%if
rs(&news_class&)=1 then%》
《font color=red》市场风云《/font》
《%end if%》
《%if rs(&news_class&)=2 then%》
《font color=red》IT新闻《/font》
《%end if%》
《%if rs(&news_class&)=3 then%》
《font color=red》广州市场《/font》
《%end if%》
《%if rs(&news_class&)=4 then%》
《font color=red》保 留《/font》
《%end if%》
《%if rs(&news_class&)=5 then%》
《font color=red》保 留《/font》
《%end if%》
《%=rs(&news_title&)%》《/td》
rs.movenext
《tr align=¢er&》
《td width=&100%& colspan=&2& bgcolor=&#EBEBEB&》《center》《p》《input
type=&submit& value=&提 交& name=&B1&》      《input
type=&reset&
value=&清 除& name=&B2&》《/td》
《/table》
if Request.ServerVariables(&REQUEST_METHOD&)=&POST& then
if not rs.bof then
rs.movefirst
do while not rs.eof
n=trim(cstr(rs(&news_id&)))
if request.form(n)=&OFF& then
rs.movenext
response.redirect &delete.asp&
response.flush
  delete.asp也是一个构成webadmin.htm的管理页面的asp文件,它负责新闻数据库的标题显示,以便让您知道现在库用有些什么新闻。同时可以通过它来删除新闻记录,那么我们在使用新闻的主页里反应出来的结果就是动态的了,新闻可以在线添加和删除。令外一个附加的asp程序
set_diap.asp是用于控制每一类新闻在主页上显示的数目的,它主要使用对象来设定。
《% @language=&vbscript& %》
response.buffer=true
Response.Expires=0
application(&disp_1&)=request.form(&disp_1&)
application(&disp_2&)=request.form(&disp_2&)
application(&disp_3&)=request.form(&disp_3&)
application(&disp_4&)=request.form(&disp_4&)
application(&disp_5&)=request.form(&disp_5&)
response.redirect &delete.asp&
  完成了上面的程序,我们的新闻发布系统就可以在线添加和删除,设置显示等的功能来,需要加上搜寻功能,也可以在这个基础上加上。下一节我们来分析,如何;令新闻代码嵌入不同的网页,实现真正的在线新闻功能。
优质网站模板&%@&Page&Language="C#"&AutoEventWireup="true"&CodeFile="Index.aspx.cs"&Inherits="Role_Index"&%&&!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&&&&&&title&角色管理&/title&&&&&&script&type="text/javascript"&src="../Scripts/jquery-1.4.1.min.js"&&/script&&&&&&script&type="text/javascript"&&&&&&&&&//全选/取消CheckBox&&&&&&&&function&CheckAll(cbAllId)&{&&&&&&&&&&&&var&keys&=&$("#txtKeys").val("").val();&&&&&&&&&&&&//遍历页面中所有CheckBox,&&&&&&&&&&&&//根据GridView头中CheckBox的checked值设置所有CheckBox的checked值,&&&&&&&&&&&&//同时,如果Header中CheckBox为选中则获取所有其他CheckBox的值(角色编码),&&&&&&&&&&&&//构造:'值','值',...格式的字符串,方便in查询,&&&&&&&&&&&&//如果Header中CheckBox的Checked值为false则清空txtKeys中的值&&&&&&&&&&&&$(":checkbox").each(function&()&{&&&&&&&&&&&&&&&&//设置当前遍历到的CheckBox的选中状态跟“全选”CheckBox一样&&&&&&&&&&&&&&&&$(this).attr("checked",&$("#cbAll").attr("checked"));&&&&&&&&&&&&&&&&//如果当前CheckBox选中,将值追加到隐藏域的value&&&&&&&&&&&&&&&&var&cbValue&=&"'"&+&$(this).val()&+&"',";&&&&&&&&&&&&&&&&if&($("#cbAll").attr("checked")&&&&$(this).attr("id")&!=&"cbAll")&{&&&&&&&&&&&&&&&&&&&&keys&+=&cbV&&&&&&&&&&&&&&&&}&&&&&&&&&&&&});&&&&&&&&&&&&$("#txtKeys").val(keys);&&&&&&&&}&&&&&&&&//单行选择&&&&&&&&function&CheckRow(cb)&{&&&&&&&&&&&&var&keys&=&$("#txtKeys").val();&&&&&&&&&&&&var&cbValue&=&"'"&+&$(cb).val()&+&"',";&&&&&&&&&&&&//移除&&&&&&&&&&&&if&(!$(cb).attr("checked"))&{&&&&&&&&&&&&&&&&keys&=&keys.replace(cbValue,&"");&&&&&&&&&&&&}&else&if&(keys.indexOf(cbValue)&==&-1)&{//追加&&&&&&&&&&&&&&&&keys&+=&cbV&&&&&&&&&&&&}&&&&&&&&&&&&$("#txtKeys").val(keys);&&&&&&&&}&&&&&&&&//删除时检查是否选中任何记录,如果是让用户确认删除操作&&&&&&&&function&ConfirmDel()&{&&&&&&&&&&&&if&($("#txtKeys").val().length&==&0)&{&&&&&&&&&&&&&&&&alert("请先选择要删除的数据");&&&&&&&&&&&&&&&&return&false;&&&&&&&&&&&&}&else&{&&&&&&&&&&&&&&&&return&confirm("确定要删除选中的数据吗?");&&&&&&&&&&&&}&&&&&&&&}&&&&&/script&&/head&&body&&&&&&form&id="form1"&runat="server"&&&&&请输入角色名称:&asp:TextBox&ID="txtKeyword"&runat="server"&Width="301px"&&/asp:TextBox&&&&&&asp:Button&ID="btnQuery"&runat="server"&Text="查询"&onclick="btnQuery_Click"&/&&&&&&!--存储选中项的值列表,以“,”间隔,删除时直接取值构造SQL--&&&&&&asp:HiddenField&ID="txtKeys"&runat="server"&EnableViewState="false"&/&&&&&&div&&&&&&&&&&asp:GridView&ID="gvRole"&runat="server"&AutoGenerateColumns="False"&EnableModelValidation="True"&&&&&&&&&&&&Width="100%"&AllowPaging="True"&DataKeyNames="RoleCode"&OnPageIndexChanging="gvRole_PageIndexChanging"&&&&&&&&&&&&OnRowDataBound="gvRole_RowDataBound"&PageSize="4"&&&&&&&&&&&&&&&Columns&&&&&&&&&&&&&&&&&&asp:TemplateField&&&&&&&&&&&&&&&&&&&&&&HeaderTemplate&&&&&&&&&&&&&&&&&&&&&&&&&&input&id="cbAll"&type="checkbox"&onclick="CheckAll();"&/&&&&&&&&&&&&&&&&&&&&&&/HeaderTemplate&&&&&&&&&&&&&&&&&&&&&&ItemTemplate&&&&&&&&&&&&&&&&&&&&&&&&&&input&id="cbRow"&value='&%#Eval("RoleCode")&%&'&type="checkbox"&onclick="CheckRow(this);"&/&&&&&&&&&&&&&&&&&&&&&&/ItemTemplate&&&&&&&&&&&&&&&&&&&&&&ItemStyle&Width="30px"&/&&&&&&&&&&&&&&&&&&/asp:TemplateField&&&&&&&&&&&&&&&&&&asp:BoundField&HeaderText="序号"&HeaderStyle-Width="50px"&ItemStyle-Width="50px"&&&&&&&&&&&&&&&&&&&&&&HeaderStyle&Width="50px"&&/HeaderStyle&&&&&&&&&&&&&&&&&&&&&&ItemStyle&Width="50px"&&/ItemStyle&&&&&&&&&&&&&&&&&&/asp:BoundField&&&&&&&&&&&&&&&&&&asp:BoundField&DataField="RoleName"&HeaderText="角色名称"&/&&&&&&&&&&&&&&&&&&asp:BoundField&DataField="RoleCode"&HeaderText="角色编码"&/&&&&&&&&&&&&&&&&&&asp:HyperLinkField&Text="编辑"&HeaderStyle-Width="50px"&ItemStyle-Width="50px"&DataNavigateUrlFields="RoleCode,RoleName"&&&&&&&&&&&&&&&&&&&&DataNavigateUrlFormatString="Edit.aspx?RoleCode={0}&RoleName={1}"&&&&&&&&&&&&&&&&&&&&&&HeaderStyle&Width="50px"&&/HeaderStyle&&&&&&&&&&&&&&&&&&&&&&ItemStyle&Width="50px"&&/ItemStyle&&&&&&&&&&&&&&&&&&/asp:HyperLinkField&&&&&&&&&&&&&&/Columns&&&&&&&&&&&&&&EmptyDataTemplate&&&&&&&&&&&&&&&&&没有数据。&&&&&&&&&&&&&/EmptyDataTemplate&&&&&&&&&&&&&&PagerSettings&Position="TopAndBottom"&/&&&&&&&&&&/asp:GridView&&&&&&/div&&&&&&asp:HyperLink&ID="hlNew"&runat="server"&NavigateUrl="~/Role/Edit.aspx"&新增&/asp:HyperLink&&|&&&&&&asp:LinkButton&ID="lbDelete"&runat="server"&&&&&&&&&OnClientClick="return&ConfirmDel();"&onclick="lbDelete_Click"&删除&/asp:LinkButton&&&&&&/form&&/body&&/html&&说明:&$("#txtKeys")&:JQuery得到ID为txtKeys的元素$("#txtKeys").val() ;:获得ID为txtKeys的元素的值$("#txtKeys").val("");:设置ID为txtKeys的元素的值,这里是空字符串$(":checkbox").each(function () {&});:遍历当前文档中CheckBox类型的元素,并在function中进行处理$(this).attr("checked");:获得当前遍历到的CheckBox的checked属性的值$(this).attr("checked", $("#cbAll").attr("checked"));:设置当前CheckBox的选中状态跟“全选”CheckBox一样,实际上就是通过这种方式给当前CheckBox的checked属性注意所有CheckBox都有客户端onclick事件,触发时会调用不同JavaScript函数执行&用到的Web服务器控件:TextBox&、Button、HiddenField、GridView、HyperLink、LinkButton&Index.aspx.cs&using&Susing&System.Web.UI.WebCusing&System.Dpublic&partial&class&Role_Index&:&System.Web.UI.Page{&&&&private&void&BindRoles()&&&&{&&&&&&&&string&keyWord&=&this.txtKeyword.Text.Trim();&&&&&&&&string&querySql&=&&&&&&&&&&&&string.Format("select&*&from&Roles&where&RoleVisible=1&and&RoleName&Like&'%{0}%'",&keyWord);&&&&&&&&SqlHelper&dbHelper&=&new&SqlHelper();&&&&&&&&DataTable&dtRole&=&new&DataTable();&&&&&&&&dbHelper.FillDataTable(querySql,&dtRole);&&&&&&&&gvRole.DataSource&=&dtR&&&&&&&&gvRole.DataBind();&&&&}&&&&protected&void&Page_Load(object&sender,&EventArgs&e)&&&&{&&&&&&&&if&(!IsPostBack)&&&&&&&&{&&&&&&&&&&&&BindRoles();&&&&&&&&}&&&&}&&&&//翻页&&&&protected&void&gvRole_PageIndexChanging(object&sender,&GridViewPageEventArgs&e)&&&&{&&&&&&&&gvRole.PageIndex&=&e.NewPageI&&&&&&&&BindRoles();&&&&}&&&&protected&void&gvRole_RowDataBound(object&sender,&GridViewRowEventArgs&e)&&&&{&&&&&&&&if&(e.Row.RowType&==&DataControlRowType.DataRow)&&&&&&&&{&&&&&&&&&&&&//行编号&&&&&&&&&&&&e.Row.Cells[1].Text&=&&&&&&&&&&&&&&&&&Convert.ToString(gvRole.PageSize&*&gvRole.PageIndex&+&e.Row.RowIndex&+&1);&&&&&&&&}&&&&}&&&&//查询&&&&protected&void&btnQuery_Click(object&sender,&EventArgs&e)&&&&{&&&&&&&&BindRoles();&&&&}&&&&//删除&&&&protected&void&lbDelete_Click(object&sender,&EventArgs&e)&&&&{&&&&&&&&string&keys&=&txtKeys.Value.Trim();&&&&&&&&string&deleteSql&=&string.Format("delete&from&Roles&where&RoleCode&in&({0})",&&&&&&&&&&&&keys.TrimEnd(','));&&&&&&&&SqlHelper&dbHelper&=&new&SqlHelper();&&&&&&&&if&(dbHelper.ExecuteNonQueryWithTran(deleteSql))&&&&&&&&{&&&&&&&&&&&&BindRoles();&&&&&&&&&&&&txtKeys.Value&=&"";&&&&&&&&}&&&&&&&&else&&&&&&&&{&&&&&&&&&&&&ClientScript.RegisterStartupScript(this.GetType(),"Infomation",&"alert('删除失败!');",true);&&&&&&&&}&&&&}}说明:SqlHelper:是数据访问类,包含一些方法提供对数据库的访问和操作&ExecuteNonQueryWithTran:调用SqlCommand的ExecuteNonQuery方法执行insert、update、delete语句,添加了事务处理&5、角色新增和修改(1)新建角色&这儿的关键是绑定权限、全选或全取消及获取选中项的值、构造insert语句,先看一下页面运行后的结果&&(1.1)绑定权限&使用两个GridView嵌套,最外面的(gvParent)显示顶级模块名称;嵌套在内的(gvChild)在gvParent的RowDataBound中进行数据绑定以显示二级模块名称(根据gvParent当前行的模块编码Moudle表中查询数据; 在gvChild的RowDataBound中绑定权限复选框列表,数据根据gvChild当前行的模块编码从下面视图(V_ModulePermissions)中查询,这里的复选框用的是&input type="checkbox" /&,首先跟权限的数量构造CheckBox的html代码字符串,然后用Label显示出来,由于Label在客户端生成的代码中将变为所有这些CheckBox的父元素,所以也方便将来实现单模块的全选或者全取消,具体内容看后面代码。视图V_ModulePermissions:&SQL:SELECT&&&&&dbo.Permissions.PermissionName,&dbo.ModulePermissions.ModuleCode,&dbo.ModulePermissions.PermissionCode,&dbo.ModulePermissions.IDFROM&&&&&&&&&dbo.ModulePermissions&INNER&JOIN&&&&&&&&&&&&&&&&&&&&&&dbo.Permissions&ON&dbo.ModulePermissions.PermissionCode&=&dbo.Permissions.PermissionCode&INNER&JOIN&&&&&&&&&&&&&&&&&&&&&&dbo.Module&ON&dbo.ModulePermissions.ModuleCode&=&dbo.Module.ModuleCodeWHERE&&&&&(dbo.Module.ModuleVisible&=&1)&AND&(dbo.Permissions.PermissionVisible&=&1)&&(1.2)全选或全取消及获取选中项的值每一个CheckBox的Click事件触发时都会调用一个JavaScript函数执行,这些函数不仅是完成选中或者取消选中,还要完成获得并追加或移除相应的CheckBox的值,最终构造的字符串是这种格式:,1,,2,,3,,4,...,并存储在隐藏域中。代码后面附上 。&(1.3)构造insert语句&获取隐藏域的值进行字符串替换和拆分,遍历拆分出来的数据,构造insert语句,最后执行。&&(2)修改角色&关键是设置当前角色已有权限项选中,先看页面结果&&这里的处理是根据URL参数RoleCode的值从视图V_RolePermissions查询该角色的所有权限,然后构造一个字符串,在构造&input type="checkbox" /&时判断该字符串是否包含此权限的标识,如果包含,就添加 checked属性。&SQL:SELECT&&&&&dbo.V_ModulePermissions.ID,&dbo.RolePermissions.RoleCodeFROM&&&&&&&&&dbo.V_ModulePermissions&INNER&JOIN&&&&&&&&&&&&&&&&&&&&&&dbo.RolePermissions&ON&dbo.V_ModulePermissions.ID&=&dbo.RolePermissions.ModulePermissionID&(3)新建、修改全部代码&Edit.aspx&&%@&Page&Language="C#"&AutoEventWireup="true"&CodeFile="Edit.aspx.cs"&Inherits="Role_Edit"&%&&!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&&&&&&script&type="text/javascript"&src="../Scripts/jquery-1.4.1.min.js"&&/script&&&&&&script&type="text/javascript"&&&&&&&&&//全部模块全选或全取消&&&&&&&&function&cbAllCheck(obj)&{&&&&&&&&&&&&$("#txtPermissions").val("");&&&&&&&&&&&&$(":checkbox").each(function&()&{&&&&&&&&&&&&&&&&$(this).attr("checked",&$(obj).attr("checked"));&&&&&&&&&&&&&&&&if&($(obj).attr("checked"))&{&&&&&&&&&&&&&&&&&&&&if&($(this).val()&!=&"on")&{&&&&&&&&&&&&&&&&&&&&&&&&$("#txtPermissions").val($("#txtPermissions").val()&+&","&+&$(this).val()&+&",");&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&});&&&&&&&&}&&&&&&&&//当前模块全选或全取消&&&&&&&&function&cbModuleCheck(obj,&cblID)&{&&&&&&&&&&&&$("#"&+&cblID).find(":input").each(function&()&{&&&&&&&&&&&&&&&&$(this).attr("checked",&$(obj).attr("checked"));&&&&&&&&&&&&&&&&if&($(obj).attr("checked"))&{&&&&&&&&&&&&&&&&&&&&if&($("#txtPermissions").val().indexOf(","&+&$(this).val()&+&",")&==&-1)&{&&&&&&&&&&&&&&&&&&&&&&&&$("#txtPermissions").val($("#txtPermissions").val()&+&","&+&$(this).val()&+&",");&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&}&else&{&&&&&&&&&&&&&&&&&&&&$("#txtPermissions").val(&&&&&&&&&&&&&&&&&&&&&&&&$("#txtPermissions").val().replace(","&+&$(this).val()&+&",",&""));&&&&&&&&&&&&&&&&}&&&&&&&&&&&&});&&&&&&&&}&&&&&&&&//当前权限选中或取消&&&&&&&&function&cbPermissionCheck(obj)&{&&&&&&&&&&&&if&($(obj).attr("checked"))&{&&&&&&&&&&&&&&&&$("#txtPermissions").val($("#txtPermissions").val()&+&","&+&$(obj).val()&+&",");&&&&&&&&&&&&}&else&{&&&&&&&&&&&&&&&&$("#txtPermissions").val(&&&&&&&&&&&&&&&&&&&&&&&&$("#txtPermissions").val().replace(","&+&$(obj).val()&+&",",&""));&&&&&&&&&&&&}&&&&&&&&}&&&&&/script&&/head&&body&&&&&&form&id="form1"&runat="server"&&&&&&asp:HiddenField&ID="txtPermissions"&runat="server"&/&&&&&&div&&&&&&&&&角色名称:&asp:TextBox&ID="txtRoleName"&runat="server"&&/asp:TextBox&&&&&&&&&&asp:RequiredFieldValidator&ID="RequiredFieldValidator1"&runat="server"&&&&&&&&&&&&&ControlToValidate="txtRoleName"&Display="Dynamic"&ErrorMessage="&---请填写角色名称"&&/asp:RequiredFieldValidator&&&&&&/div&&&&&&div&&&&&&&&&角色编码:&asp:TextBox&ID="txtRoleCode"&runat="server"&&/asp:TextBox&&&&&&&&&&asp:RequiredFieldValidator&ID="RequiredFieldValidator2"&runat="server"&&&&&&&&&&&&&ControlToValidate="txtRoleCode"&Display="Dynamic"&ErrorMessage="&---请填写角色编码"&&/asp:RequiredFieldValidator&&&&&&/div&&&&&&div&&input&id="cbAll"&type="checkbox"&onclick="cbAllCheck(this)"&/&全选&/div&&&&&&div&&&&&&&&&&asp:GridView&runat="server"&ID="gvParent"&AutoGenerateColumns="False"&EnableModelValidation="True"&&&&&&&&&&&&DataKeyNames="ModuleCode"&ShowHeader="false"&&&&&&&&&&&&&OnRowDataBound="gvParent_RowDataBound"&Width="100%"&&&&&&&&&&&&&&Columns&&&&&&&&&&&&&&&&&&asp:TemplateField&&&&&&&&&&&&&&&&&&&&&&ItemTemplate&&&&&&&&&&&&&&&&&&&&&&&&&&asp:Label&ID="lblTopModule"&runat="server"&Font-Bold="true"&Text='&%#&Eval("ModuleName")&%&'&&/asp:Label&&&&&&&&&&&&&&&&&&&&&&&&&&br&/&&&&&&&&&&&&&&&&&&&&&&&&&&asp:GridView&runat="server"&ID="gvChild"&AutoGenerateColumns="False"&EnableModelValidation="True"&&&&&&&&&&&&&&&&&&&&&&&&&&&&DataKeyNames="ModuleCode"&ShowHeader="false"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&OnRowDataBound="gvChild_RowDataBound"&Width="100%"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&Columns&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&asp:TemplateField&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&ItemTemplate&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&asp:Label&ID="lblMoudle"&runat="server"&Text='&%#&Eval("ModuleName")&%&'&&/asp:Label&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&asp:CheckBox&id="cbModule"&runat="server"/&全选&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&br&/&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&asp:Label&ID="lblPermissions"&runat="server"&&/asp:Label&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&/ItemTemplate&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&/asp:TemplateField&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&/Columns&&&&&&&&&&&&&&&&&&&&&&&&&&/asp:GridView&&&&&&&&&&&&&&&&&&&&&&/ItemTemplate&&&&&&&&&&&&&&&&&&/asp:TemplateField&&&&&&&&&&&&&&/Columns&&&&&&&&&&/asp:GridView&&&&&&/div&&&&&&div&&&&&&&&&&asp:Button&ID="btnSubmit"&runat="server"&Text="提交"&onclick="btnSubmit_Click"&/&&&&&&/div&&&&&&/form&&/body&&/html&&Edit.aspx.cs&using&Susing&System.Web.UI.WebCusing&System.Dusing&System.Tpublic&partial&class&Role_Edit&:&System.Web.UI.Page{&&&&private&DataSet&ds&=&new&DataSet();&&&&private&StringBuilder&RolePermission&{&get;&set;&}&&&&private&void&BindTopModule()&&&&{&&&&&&&&if&(ds&!=&null&&&&ds.Tables.Count&&&0)&&&&&&&&{&&&&&&&&&&&&//筛选顶级模块&&&&&&&&&&&&DataRow[]&drs&=&ds.Tables[0].Select("ParentCode='0'");&&&&&&&&&&&&//克隆表结构&&&&&&&&&&&&DataTable&dt&=&ds.Tables[0].Clone();&&&&&&&&&&&&foreach&(DataRow&dr&in&drs)&&&&&&&&&&&&{&&&&&&&&&&&&&&&&dt.ImportRow(dr);&&&&&&&&&&&&&}&&&&&&&&&&&&gvParent.DataSource&=&&&&&&&&&&&&&gvParent.DataBind();&&&&&&&&}&&&&}&&&&private&void&SetRolePermission()&&&&{&&&&&&&&string&querySql&=&string.Format("select&*&from&V_RolePermissions&where&RoleCode='{0}'",&&&&&&&&&&&&ViewState["RoleCode"]);&&&&&&&&DataTable&dt&=&new&DataTable();&&&&&&&&SqlHelper&helper&=&new&SqlHelper();&&&&&&&&helper.FillDataTable(querySql,&dt);&&&&&&&&if&(dt&!=&null)&&&&&&&&{&&&&&&&&&&&&foreach&(DataRow&dr&in&dt.Rows)&&&&&&&&&&&&{&&&&&&&&&&&&&&&&RolePermission.Append(","&+&dr["ID"].ToString()&+&",");&&&&&&&&&&&&}&&&&&&&&}&&&&}&&&&protected&void&Page_Load(object&sender,&EventArgs&e)&&&&{&&&&&&&&if&(!IsPostBack)&&&&&&&&{&&&&&&&&&&&&txtRoleName.Text&=&Request.QueryString["RoleName"];&&&&&&&&&&&&ViewState["RoleCode"]&=&txtRoleCode.Text&=&Request.QueryString["RoleCode"];&&&&&&&&&&&&//修改时根据RoleCode获得当前Role的所有权限ID&&&&&&&&&&&&if&(ViewState["RoleCode"]!=null)&&&&&&&&&&&&{&&&&&&&&&&&&&&&&RolePermission&=&new&StringBuilder();&;&&&&&&&&&&&&&&&&SetRolePermission();&&&&&&&&&&&&&&&&txtPermissions.Value&=&RolePermission.ToString();&&&&&&&&&&&&}&&&&&&&&&&&&SqlHelper&helper&=&new&SqlHelper();&&&&&&&&&&&&String&querySql&=&"select&*&from&Module&where&ModuleVisible=1;select&*&from&V_ModulePermissions";&&&&&&&&&&&&helper.FillDataSet(querySql,&ds)&;&&&&&&&&&&&&BindTopModule();&&&&&&&&}&&&&}&&&&protected&void&gvParent_RowDataBound(object&sender,&GridViewRowEventArgs&e)&&&&{&&&&&&&&if&(e.Row.RowType&==&DataControlRowType.DataRow)&&&&&&&&{&&&&&&&&&&&&GridView&gv&=&(GridView)e.Row.FindControl("gvChild");&&&&&&&&&&&&if&(ds&!=&null&&&&ds.Tables.Count&&&0)&&&&&&&&&&&&{&&&&&&&&&&&&&&&&DataRow[]&drs&=&ds.Tables[0].Select("ParentCode='"&+&gvParent.DataKeys[e.Row.RowIndex].Value&+&"'");&&&&&&&&&&&&&&&&DataTable&dt&=&ds.Tables[0].Clone();&&&&&&&&&&&&&&&&foreach&(DataRow&dr&in&drs)&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&dt.ImportRow(dr);&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&gv.DataSource&=&&&&&&&&&&&&&&&&&gv.DataBind();&&&&&&&&&&&&}&&&&&&&&}&&&&}&&&&protected&void&gvChild_RowDataBound(object&sender,&GridViewRowEventArgs&e)&&&&{&&&&&&&&if&(e.Row.RowType&==&DataControlRowType.DataRow)&&&&&&&&{&&&&&&&&&&&&if&(ds&!=&null&&&&ds.Tables.Count&&&1)&&&&&&&&&&&&{&&&&&&&&&&&&&&&&Label&lblPermissions&=&(Label)e.Row.FindControl("lblPermissions");&&&&&&&&&&&&&&&&StringBuilder&appendCheckBox&=&new&StringBuilder();&&&&&&&&&&&&&&&&DataRow[]&drs&=&ds.Tables[1].Select("ModuleCode='"&+&((GridView)sender).DataKeys[e.Row.RowIndex].Value&+&"'");&&&&&&&&&&&&&&&&for&(int&index&=&0;&index&&&drs.Lindex++&)&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&DataRow&dr&=&drs[index];&&&&&&&&&&&&&&&&&&&&appendCheckBox.Append(&&&&&&&&&&&&&&&&&&&&&&&&string.Format("&input&type='checkbox'&id='{0}'&value='{1}'&onclick='cbPermissionCheck(this)'&{3}&/&{2}&",&&&&&&&&&&&&&&&&&&&&&&&&"cb"&+&e.Row.RowIndex.ToString("00")&+&index.ToString("00"),&&&&&&&&&&&&&&&&&&&&&&&&dr["ID"].ToString(),&&&&&&&&&&&&&&&&&&&&&&&&dr["PermissionName"].ToString(),&&&&&&&&&&&&&&&&&&&&&&&&RolePermission&!=&null&&&&RolePermission.ToString().IndexOf(","&+&dr["ID"].ToString()&+&",")&&=&0&?&"checked"&:&""&&&&&&&&&&&&&&&&&&&&&&&&)&&&&&&&&&&&&&&&&&&&&&&&&);&&&&&&&&&&&&&&&&&&&&//(delegate(string&id){return&id==dr["id"].ToString();})&=0&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&lblPermissions.Text&=&appendCheckBox.ToString();&&&&&&&&&&&&&&&&((CheckBox)e.Row.FindControl("cbModule")).Attributes.Add("onclick",&"cbModuleCheck(this,'"&+&lblPermissions.ClientID+&"')");&&&&&&&&&&&&}&&&&&&&&}&&&&}&&&&protected&void&btnSubmit_Click(object&sender,&EventArgs&e)&&&&{&&&&&&&&if&(IsValid)&&&&&&&&{&&&&&&&&&&&&string&roleName&=&txtRoleName.Text.Trim();&&&&&&&&&&&&string&roleCode&=&txtRoleCode.Text.Trim();&&&&&&&&&&&&string[]&permissions&=&txtPermissions.Value&&&&&&&&&&&&&&&&.TrimStart(',')&&&&&&&&&&&&&&&&.TrimEnd(',')&&&&&&&&&&&&&&&&.Replace(",,",&",")&&&&&&&&&&&&&&&&.Split(',');&&&&&&&&&&&&StringBuilder&appendSql&=&new&StringBuilder();&&&&&&&&&&&&if&(ViewState["RoleCode"]&!=&null)&&&&&&&&&&&&{&&&&&&&&&&&&&&&&appendSql.Append(string.Format("delete&from&RolePermissions&where&RoleCode='{0}';",&ViewState["RoleCode"]));&&&&&&&&&&&&&&&&appendSql.Append(string.Format("update&Roles&set&RoleCode='{0}',RoleName='{1}'&where&RoleCode='{2}'",&&&&&&&&&&&&&&&&&&&&roleCode,&roleName,&ViewState["RoleCode"]));&&&&&&&&&&&&}&&&&&&&&&&&&else&&&&&&&&&&&&{&&&&&&&&&&&&&&&&appendSql.Append(string.Format("insert&into&Roles(RoleCode,RoleName)&values('{0}','{1}')",&&&&&&&&&&&&&&&&&&&&roleCode,&roleName));&&&&&&&&&&&&}&&&&&&&&&&&&foreach&(string&s&in&permissions)&&&&&&&&&&&&{&&&&&&&&&&&&&&&&if&(!string.IsNullOrEmpty(s))&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&appendSql.Append(&&&&&&&&&&&&&&&&&&&&&&&&string.Format(";insert&into&dbo.RolePermissions&values('{0}',{1})",&&&&&&&&&&&&&&&&&&&&&&&&&&&&roleCode,&s));&&&&&&&&&&&&&&&&}&&&&&&&&&&&&}&&&&&&&&&&&&txtPermissions.Value&=&"";&&&&&&&&&&&&//Response.Write(appendSql.ToString());&&&&&&&&&&&&SqlHelper&helper&=&new&SqlHelper();&&&&&&&&&&&&if&(helper.ExecuteNonQueryWithTran(appendSql.ToString()))&&&&&&&&&&&&{&&&&&&&&&&&&&&&&Response.Redirect("../Redirect.html?Role/Index.aspx");&&&&&&&&&&&&}&&&&&&&&&&&&else&&&&&&&&&&&&{&&&&&&&&&&&&&&&&ClientScript.RegisterStartupScript(this.GetType(),&"Infomation",&"alert('操作失败!');",&true);&&&&&&&&&&&&}&&&&&&&&}&&&&}}&(4)操作成功后的提示及页面跳转&&Redirect.html使用setInterval函数倒计时&获取传递过来的路径(传递的是相对路径),倒计时到0秒时,使用window.clearInterval(intervalId)清除setInterval事件,并指定window.location.href=路径,使得由当前页跳转到目的页&!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&&&&&&title&继续&/title&&&&&&script&type="text/javascript"&&&&&&&&&//秒数&&&&&&&&var&count&=&3;&&&&&&&&//setIntervalId&&&&&&&&var&setIntervalId;&&&&&&&&var&url&=&location.&&&&&&&&url&=&url.substring(url.indexOf("?")&+&1,&url.length);&&&&&&&&function&Redirect()&{&&&&&&&&&&&&var&displayOjb&=&document.getElementById("showTime")&&&&&&&&&&&&if&(count&==&0)&{&&&&&&&&&&&&&&&&//清除setInterval&&&&&&&&&&&&&&&&window.clearInterval(setIntervalId);&&&&&&&&&&&&&&&&displayOjb.innerHTML&=&"网页正在自动跳转";&&&&&&&&&&&&&&&&location.href&=&&&&&&&&&&&&&}&&&&&&&&&&&&else&{&&&&&&&&&&&&&&&&displayOjb.innerHTML&=&"操作成功!"&+&count&+&"秒后网页自动跳转。";&&&&&&&&&&&&&&&&count--;&&&&&&&&&&&&}&&&&&&&&}&&&&&&&&setIntervalId&=&setInterval("Redirect()",&1000);&&&&&/script&&/head&&body&&div&id="showTime"&&/div&&/body&&/html&&OK,到此全部完成,感觉说的太多了,所以有些内容没介绍,看代码吧。&
评论 - 288

我要回帖

更多关于 微信投票网站asp 的文章

?

随机推荐