asp.net网站设计_aspnet网站设计大作业
asp.net网站设计_aspnet网站设计大作业
感谢大家参与这个关于asp.net网站设计的问题集合。作为一个对此领域有一定了解的人,我将以客观和全面的方式回答每个问题,并分享一些相关的研究成果和学术观点。
文章目录列表:
1.ASP.NET网站框架设计
2.ASP.NET 常用的设计模式有那些
3.ASP.NET怎么做网页
4.ASP.NET设计控件净化网站语言
5.C#中用ASP.net怎么来设计网页的页面
6.设计一个ASP.NET网页。
ASP.NET网站框架设计
如果不考虑数据库的移植问题,这样固然是合理的。
但如果将来会改变数据库,是否把DBHelper独立出来比较好。
另外,日志管理模块也建议独立开去,单独建立系统,应该避免日志系统出问题时影响整个系统的稳定性,考虑通过WebService提供日志记录查看等等服务是否更加合理。
ASP.NET 常用的设计模式有那些
工厂模式(三种)
外观模式
策略模式、
观察者模式
适配器模式
模式只是根据需要适用,学习重构思想和看看大话设计模式
根据业务需求特点以及软件的开发、维护需求来决定采用什么样的设计模式,设计模式的灵活运用是开发经验和对业务精通的结果。要真正用好设计模式,要在大量的开发经验基础上,总结系统架构的不足之处,才会真正体会到设计模式为什么要这样做。设计模式不可滥用,大多数采用的设计模式都会或多或少降低程序的性能,采用设计模式的目的在于方便对软件的开发和维护。
采用分层结构来开发网站的优点是层次清晰,便于维护和分工,但是对程序性能的影响是比较大的。以ASP.NET来说大都用的一种MVC三层结构的变种,主要采用的是抽象工厂,生成器等设计模式。这些东西不需要学,做的多了,不自觉之间就会了。平时没注意,其实你天天都在用设计模式
ASP.NET怎么做网页
首先需要配置环境:
1、安装服务器IIS,这个是微软自己的,以前曾经安装,不算麻烦,给你带个链接吧:
/article/cd4c2979ae2248756f6e605f.html
2、安装.net framework,这个是.net框架,做开发推荐安装visual studio作为开发工具,那样的话这一步就可以省下了,因为它自带一个.net framework,当然更可能的情况是你以前安装的某些软件也许已经给你装上了(可以从 开始->(设置->)控制面板->添加删除程序 出来的列表里面看到)~
3、到这里应该安装开发环境了,其实我推荐的话就是上面提到的visual studio,可以上网搜下,我_近没关注,就不给链接了;你也可以在网上搜“c#开发环境”等自己来选择下~
接着就该学习开发了:
前面的都弄好了,实际动手进行网站开发的学习和实践就得自己看情况来确定怎么学了,每个人的情况不同,比如学生,比如自学,比如培训……这里就给点意见吧:
1、个人感觉找本书看下,跟着做下Demo在学习的初期还是效果不错的,但是别太钻牛角尖,书上的东西不一定都能实现,也可能效果变了什么的。
2、如果想试验下,可以再自己的机器上搭建环境,然后让别人通过局域网找到你的网站,记得检查下防火墙,如果访问不到的话可能需要把windows的自带防火墙关了才可以。
3、什么时候你觉得自己的网站可以拿出来让大家在广域网上登陆下看看了,你可以尝试注册域名和空间,有免费的,但是大多带广告或者不稳定之类的,实验用还可以,如果想好好做,还是花点钱去买个收费的靠谱一点……不知道你的水品,带个我以前的答案吧:/question/270502008.html?oldq=1
好了,基本就这 么多了……
ASP.NET设计控件净化网站语言
一 概述
考虑一下这种情形 你为一个Web网站写了一个应用程序 它的功能是接受用户的输入并将输入内容_保存 例如保存到数据库 另外还要在网站上显示出用户输入的内容 例如论坛就是一个很典型的例子
如果用户来源很杂 必须考虑如何防止用户提交和张贴攻击性(或者_的 庸俗的)的内容 可能的解决方案包括
⑴ 将用户群限制到一个封闭的用户团体 即要求用户使用程序功能之前必须先注册/登录 这样 由于每次提交的内容都可以追查到提交者 用户破坏网站规则的可能性就小了很多 如果有用户做出了不应该做的事 你就可以核实用户身份 予以相应的处理
⑵ 在网站上发布用户提交的内容之前 先由管理员审阅 很多时候 由于人力资源有限 这个办法不一定行得通
⑶ 禁止用户提交攻击性内容 这是_理想的解决办法 把问题解决在起源 但具体应该怎么实现呢?
本文介绍的方案以一个复合控件为基础 利用一个XML文件来定义攻击性词语 我们将用VB NET编写这个复合控件 用普通的文本编辑器和命令行编译器(vbc)完成整个工程的构建
在正式编写控件之前 首先我们来简单地回顾一下ASP NET中控件的概念 本文出现的所有控件都是服务器控件 它们在服务器上运行 将HTML代码发送到客户端 要理解控件的分类 可以从控件是否嵌入到Web表单页面(因而采用按需编译方式)或预先编译的角度来观察 微软定义了下列ASP NET服务器控件 HTML服务器控件 Web服务器控件 验证控件 用户控件
前三种控件读者应该已经比较熟悉了 对于开发者来说 它们是_简单的控件类型 在ASP NET中已经由微软为我们编写好 用户控件则有所不同 用户控件是 包装 成 ascx页面形式的 aspx页面 其他 aspx页面可以通过注册和实例化来调用用户控件的功能 这是一种被寄予厚望的服务器端控件 对于ASP/ASP NET开发者来说 它代表着一大进步 特别地 现在编写控件的语言已经全面支持面向对象技术
ASP NET用户控件由一个或多个服务器控件 静态HTML元素构成 可以包含额外的代码 每个用户控件封装一组特定的功能 用户控件可以通过简单地扩展现有服务器控件(控件组)得到 例如 带有旋转功能的图形控件 在文本框中保存日期的日历控件
二 开发复合控件
控件要检查用户提交的内容是否包含 攻击性 词语 攻击性词语由一个XML文件定义 XML文件的结构如下
<?xml_ersion=? encoding=GB ><words><word>词语一</word><word>词语二</word></words>
本文的复合控件(Composite)包含三个ASP NET服务器控件 一个Textbox控件 一个Label控件 还有一个Button控件 当用户点击Button控件 Composite检查用户提交的文本是否包含了XML文件中_的词语(XML文件的默认名字是bad_words xml 通过一个自定义属性定义) 并抛出一个自定义事件 另外 Composite控件还将它的Label子控件的一个Text属性显露成_属性
复合控件可以有选择地将子控件显露成属性 或者有选择地将子控件的属性和事件作为_属性和事件显露出来 当复合控件整合来自子控件的属性时 它通常只是简单地委托子控件执行操作 如下面的例子所示
// 将操作委托给标签对象 标签对象是一个// System Web UI WebControls Label的实例Public Property Text() As StringGetEnsureChildControls()Return label TextEnd GetSetEnsureChildControls()label Text=_alueEnd SetEnd Property
我们需要一个文本输入框让用户输入内容 一个按钮来提交表单 还要一个向用户反馈信息的文本标签 下面我们来看看Web表单的代码 复合控件就是在这里实例化的
posite aspx
<%@ page language=_b debug=false trace=false %><%@ Register TagPrefix=Custom Namespace=CustomControls Assembly=CustomControls %><><script language=_B runat=server>Private Sub CheckText(sender As Object e As CheckEventArgs)If e Match=false ThenComposite Text=<h >发布内容请遵守本站规则!不得发布攻击性言辞!</h > ElseComposite Text=你提交的内容已通过检查! End IfEnd Sub </script>
<body>
<h >语言净化控件实例</h ><br><form runat=server><Custom:Composite id=Composite OnCheck=CheckText filename=bad_words xml runat=server/></form></body></>?
上面的代码首先注册_的复合控件 我们将把控件的代码编译成一个 dll文件 放入应用的bin目录 这是ASP NET首先搜索的位置 在Web表单构成的用户界面中 我们实例化了自定义控件 同时_了
⑴ 当控件抛出OnCheck事件 执行一个本地的子过程CheckText 我们把复合控件的标签的文本通过一个公用属性显露出来 标签的内容由OnCheck事件句柄设置的另一个公用属性决定
⑵ 定义攻击性词语的XML文件的名字
⑶ 另外 我们还定义了一个由复合控件调用的CheckText子过程
现在来看复合控件本身 复合控件有两个类 用两个独立的VB源文件实现 分别是posite_b和checkevent_b
posite_b
Imports SystemImports System WebImports System Web UIImports System Web UI WebControlsImports System XmlImports System Collecti_
Namespace CustomControlsPublic Class CompositeInherits ControlImplements INamingContainerPrivate _filename As String=bad_words xml Private label As LabelPrivate box As TextBox
Public Property filename() As StringGetReturn _filenameEnd GetSet_filename=_alueEnd SetEnd Property
以用户提交的文本内容为输入参数 如果用户提交的内容包含攻击性言辞 则返回修改后的版本 否则 直接返回原始的文本 Public Function CheckString(InputString as String) as stringDim alWordList As new ArrayListdim xmlDocPath as string=m_athsecure( bad_words xml )dim xmlReader as XmlTextreader=new xmlTextReader(xmlDocPath)dim element as stringdim output as stringdim asterisks as string=*************************
将定义攻击性言辞的xml文件内容读入到一个ArrayLishile (xmlReader Read())if xmlReader NodeType=xmlNodeType Text thenalWordList Add(xmlReader_alue)end ifend whilexmlReader Close()
检查用户提交的文本内容 将攻击性言辞替换为适当数量的星号For Each element in alWordListInputString=InputString Replace(element asterisks substring( (element length)))Next
Return InputString
End Function
Public Property Text() As StringGet 该方法首先检查ChildControlsCreated属性的当前值 如果该值是false 则调用CreateChildControls方法EnsureChildControls()Return label TextEnd GetSetEnsureChildControls()label Text=_alueEnd SetEnd Property
Public Event Check As CheckEventHandler
Protected Overridable Sub OnCheck(ce As CheckEventArgs)RaiseEvent Check(Me ce)End Sub
创建Composite控件的子控件Protected Overrides Sub CreateChildControls()
Controls Add(New LiteralControl( <h >请在下面输入文字内容: ))
文本输入框Dim box As New Textbox()box Text=Controls Add(box )
Controls Add(New LiteralControl( </h > ))
按钮Dim button As New Button()button Text=提交 Controls Add(New LiteralControl( <br> ))Controls Add(button )
将一个事件句柄加入新创建的按钮对象AddHandler button Click AddressOf Me ButtonClicked
Controls Add(New LiteralControl( <br><br> ))label=New Label()label Height=Unit Pixel( )label Width=Unit Pixel( )label Text=Controls Add(label)End Sub
Protected Overrides Sub OnPreRender(e As EventArgs)CType(Controls( ) TextBox) Text=End Sub
Private Sub ButtonClicked(sender As [Object] e As EventArgs)OnCheck(New CheckEventArgs(CType(Controls( ) TextBox) Text CheckString(CType(Controls( ) TextBox) Text)))End SubEnd ClassEnd Namespace
上面代码的主要任务是
⑴ 首先导入必要的名称空间 声明当前类所属的名称空间
⑵ 接下来定义Composite的主体 Composite从_基本的Control类继承 另外还要实现INamingContainer接口 INamingContainer接口允许Composite控件将事件转发到它的Button子控件
⑶ 用CreateChildControls方法(而不是OnInit或构造函数)创建子控件
⑷ Composite控件没有显露出Button子控件的Click事件 相反 它处理了Click事件 并抛出自定义事件Check
⑸ Composite控件显露了下列公用属性 Text 即Label子控件的Text属性值 FileName 允许获取和设置定义攻击性词语的XML文件的名字
⑹ 主要的检查功能由CheckString方法实现 它的输入参数是一个文本字符串 CheckString方法从XML文件读取禁用的词语 放入一个数组列表(ArrayList) 然后检查_的字符串是否包含禁用的词语 所有 攻击性 的词语将被适当数量的 * 替代
⑺ OnPreRender清除文本框子控件的文本
⑻ 当用户点击按钮 ButtonClicked开始执行 ButtonClicked调用onCheck子过程 传入适当的参数(一个新建的CheckEventArgs对象 创建CheckEventArgs对象的参数是检查前和检查后的文本) OnCheck随后触发一个事件 该事件将由 aspx页面中的代码处理
CheckEvent_b
包含定制事件数据类CheckEventArgs的代码 另外还定义了Check事件的事件句柄Imports SystemNamespace CustomControlsPublic Class CheckEventArgsInherits EventArgsPrivate _match As Boolean=False
Public Sub New(string As String string as String)If string=string Then_match=TrueEnd IfEnd Sub
Public ReadOnly Property Match() As BooleanGetReturn _matchEnd GetEnd PropertyEnd Class
Public Delegate Sub CheckEventHandler(sender As Object ce As CheckEventArgs)End Namespace
CheckEventArgs的构造函数是两个字符串 根据字符串的值设置相应的匹配标记_match 另外 上面的代码还定义了CheckEventHandler事件句柄
编写好上面的代码后 如果你没有安装IDE 用下面的命令执行编译即可
lishixinzhi/Article/program/net/201311/15751C#中用ASP.net怎么来设计网页的页面
楼主的问题牵连到的面太大,并非几句话解释得清楚。这甚至是软件设计里面单独的一门学科。
我先从理论上给你解释一下大体框架吧,不用专业术语的话我想代码也就不用举例了吧,那么具体的实践操作还需楼主花费一些时间和精力才可以搞定。
首先,你明白“前后台”的概念,很好,这里就不必过多解释。
1、基于ASP.NET的应用程序设计,前台可以用VS工具直接做,就是往上拖控件,别嫌弃丑,你先把需要的按钮、放的位置、显示网页信息的位置等先拖控件上去,比如常用的Button、GridView、Image、Repeater等控件。这就是页面前台的布局,这种页面上就是广大用户能看到的、能操作的页面;比如百度首页的“百度一下”按钮,点击可以查询出相关内容;
2、数据库的连接在Web.Config文件中可以建立DB连接字符串,很简单。这里通常连接SQL Server 数据库,Access数据库均可;
3、后台说白了就是对DB进行增、删、改、查操作的页面。比如百度上的新闻,这是通过网站后台进行上传的;这个操作仅仅是和数据库之间的交互,初学者你就记得这一块与前台无关即可;页面的设计跟前台相似;
4、美化方面你可以用CSS技术来做,不难。不用的话也可以,用VS母版页来做也可以做的不错;关键是软件的功能,如果是网站的话,个人建议前台_好用CSS来美化,否则看起来别扭,网页嘛,重在美工,功能其实不难;
至于前台具体功能的实现,建议你可以到网上搜索一下软件源码,用一个模板来做,这样便于学习,也能提高做毕业设计的效率,当然这要看个人的基础如何了。
就说这些吧,过年在家抽出忙家务的时间来手工打了一段字 呵呵~ 难免有不足之处 希望对你用帮助。
仅供参考,祝你新年快乐! Rock.
设计一个ASP.NET网页。
给文本框写一个前端事件就可以了
我只给思路,没有给直接给代码的习惯。CSDN上也这样,哪有这种拿来主义……
“该网页用一个TextBox控件输入内容,当内容输入完毕后,立即将输入的内容显示在标签上,并将该内容添加到下拉列表框中”
知识点一:给textbox控件onkeyup的前端事件,获取其内容显示在标签上[这个不会也不会吧?]
知识点二添加到下拉列表框中的技术点为:下拉框.opti_.add(new Option(text,value));
"添加一个按钮,当单击该按钮时,将下拉列表框中的每一项内容变成复选框列表中的一个选项"
知识点一:遍历下拉框的项,提取所有项的文本和值
知识点二:创建复选框组
可使用document.createElement('input')的方式动态创建复选框,但为了效率,建议使用类似于模板拼接的方式,比如:_checkboxTemp='<input type="checkbox" id="mybox{0}" name="mybox"_alue="{1}" /><label for="mybox{0}">{2}</label>';
然后将提取到的文本和值替换进来,生成一个字符串。_后使用:容器.innerHTML=生成的复选框组字符串的方式去生成;这样通过减少对dom的操作使得效率更高
我课程设计要制作一个小型管理系统的网站,用ASP.NET,请问网页设计用框架还是模板好?哪个容易上手?
模板维护起来方便快捷,
框架用于布局
模板其实有很多限制的,有时候确实挺不好用,如果母板页里用form标签了,内容页就不可以用了。框架在后台页面用的还挺爽的
框架需要网页之间相互传递参数,模板页不用。
看情况使用吧。
如果页面间传参少的话,用框架合适;
如果经常要传许多参数并且页面间交互_繁,则可以选择母版。
母板不能解决布面局部刷新问题,对用户的体验不好,点一下连接,整个页面都要刷新.
感觉母板对开发人员来说是个好东西,对用户来说,个人觉得不如框架,特别是用母板来导航时,很烦的.
我原来用母板导航的应用现在都改成框架了.
div不能跨框架,但模板页每次都要全部重新加载,
两者各有优劣,就看你在开发过程中的需求了
框架是浏览器窗口中的一个区域,一个框架对应一个单独的HTML文档,例如,一个页面中有两个框架实际上他有三个Html文档,一个是框架集文件,另外两个是框架文件。也就是说一个框架集是由多个框架页面组成的。
模板可以创建具有相同布局的一系列文件,同时,模板_的好处在于它的后期维护方便,可以快速的改变整个站点的布局和外观。 模板是由可编辑区域和不可编辑区域两部分组成,不可编辑区域包含所有页面_有的部分,可编辑区域是为页面中不同部分的编辑设置的。
框架和模板都能_页面的风格,不过框架集设计的页面是在同一个页面中操作,只是不同的框架发生了变化,模板变化的整个网页,只是它里边包含一些共同的部分,通过设计模板来_设计。
个人认为:模板主要为了_页面的风格。框架主要为了实现让一个窗口显示多个页面。
另外,在使用中发现使用框架集好像整个页面没有滚动条,单个框架根据内容的多少可以设置显示滚动条,但是整个窗口的内容没法滚动,不知道有没有方法实现。
求asp.net做一个购物网站的步骤(c#语言)
其实用asp.net做购物网站的话,如果你有制作网站的基础话,比较好说。主要你要分析一下你的网站要实现什么功能,然后进行数据库的设计,这一步很重要。数据库设计好后,就是根据你需要的功能编写代码操作数据库来实现功能。你可以到www.51aspx.net下载一个购物网站源码看看然后自己仿照着做。我初学做网站也是下别人的代码仿照他做一遍然后就学会了,建议你去看别人的源码
好了,今天我们就此结束对“asp.net网站设计”的讲解。希望您已经对这个主题有了更深入的认识和理解。如果您有任何问题或需要进一步的信息,请随时告诉我,我将竭诚为您服务。