仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 622|回复: 7
打印 上一主题 下一主题

[学习教程] ASP.NET编程:ASP.NET MVC 5 - 将数据从把持器传送给...

[复制链接]
老尸 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:17:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
前几天同学问我学习方向的问题。有点想法,不知道对不对,怕误导同学,现在“开源一下”。注:括号内是我现在整理的时填加上的。在我们会商数据库和数据模子之前,让我们先会商一下怎样将数据从把持器传送给视图。把持器类将呼应哀求来的URL。把持器类是给您写代码来处置传进哀求的中央,并从数据库中检索数据,并终极决意甚么范例的前往了局会发送回扫瞄器。视图模板能够被把持器用来发生格局化过的HTML从而前往给扫瞄器。

把持器卖力给任何数据大概工具供应一个必须的视图模板,用这个视图模板来Render前往给扫瞄器的HTML。最好做法是:一个视图模板应当永久不会实行营业逻辑大概间接和数据库举行交互。响应的,一个视图模板应当只和把持器所供应的数据举行交互。保持这类"断绝干系"能够匡助,坚持代码的洁净、测试性和更容易保护。

以后,HelloWorldController类中Welcome操纵办法必要一个name和一个numTimes参数,然后间接输入给扫瞄器。比拟只前往一个字符串,让我们来改动把持器,来利用视图模板吧。视图模板将天生静态的HTML,这意味着您必要经由过程得当的体例把数据从把持器传送给视图,从而才干天生静态的HTML。您能够把视图模板必要的静态数据(参数)在把持器中放进到一个ViewBag工具中,然后视图模板能够会见这个工具。

翻开HelloWorldController.cs文件,变动Welcome办法,将Message和NumTimes的值增加到ViewBag工具里。ViewBag是一个静态的工具,这意味着在您没有给ViewBag安排属性时,它没有任何属性,您能够把任何您想安排的工具放进到ViewBag工具中。ASP.NETMVCmodelbindingsystem会主动将地点栏中URL里的querystring映照到您办法中的参数(name和numTimes)。

完全的HelloWorldController.cs文件以下所示:
  1. usingSystem.Web;usingSystem.Web.Mvc;namespaceMvcMovie.Controllers{publicclassHelloWorldController:Controller{publicActionResultIndex(){returnView();}publicActionResultWelcome(stringname,intnumTimes=1){ViewBag.Message="Hello"+name;ViewBag.NumTimes=numTimes;returnView();}}}
复制代码
如今ViewBag工具包括了数据,并将主动传送给视图模板。接上去,您必要一个接待视图模板!在天生菜单中,选择天生MvcMovie(快速键Ctrl+Shift+B),以确保项目编译乐成。

在ViewsHelloWorld文件夹上,右键单击”增加(视图)”,选择”MVC5ViewPagewith(LayoutRazor).”

在“指定项称号(SpecifyNameforItem)”对话框,输出”Welcome”,点击“断定(OK)”.
在“选择结构(theSelectaLayoutPage)”对话框,承受缺省的”结构_Layout.cshtml”,并点击“断定(OK)”.

运转使用程序,并扫瞄上面的URL:http://localhost:xx/HelloWorld/Welcome?name=Scott&numtimes=4

如今,模子绑定(modelbinder)使得数据从URL传送给把持器。把持器将数据装进到ViewBag工具中,经由过程该工具传送给视图。然后视图为用户天生显现所需的HTML。

在下面的示例中,我们利用了ViewBag工具把数据从把持器传送给了视图。在本系列教程前面的文章中,我们将利用视图模子来将数据从一个把持器传送到视图中。用视图模子来传送数据,这通常为首选的举措。BlogDynamicVStronglyTypedViews有加倍具体的先容。

到这里,这是一种"M"模子,但不是数据库的那种“M”模子。让我们来创立一个影戏数据库吧。
一般的指的.net就是跟java相对的那种,主要是做企业级应用的。你如果想学这个,主要就是学C#和数据库。(ASP.NET好像很重要的,应该也要学的,ASP.NET上好像可以结合VB和C#等多种语言,但是微软主推C#)
愤怒的大鸟 该用户已被删除
沙发
发表于 2015-1-19 06:49:42 | 只看该作者
ASP是把代码交给VBScript解释器或Jscript解释器来解释,当然速度没有编译过的程序快了。
老尸 该用户已被删除
板凳
 楼主| 发表于 2015-1-25 18:08:39 | 只看该作者
最强的技术支持WebService,而且有.NET的所有library做后盾。而且ASP.NET在.NET3.5中还有微软专门为AJAX开发的功能--ASP.NETAJAX。
飘飘悠悠 该用户已被删除
地板
发表于 2015-2-3 12:40:22 | 只看该作者
网页从开始简单的hmtl到复杂的服务语言,走过了10多个年头,各种技术层出不穷,单个的主流技术也在不断翻新的版本,现在分析下各种语言的区别、优势、劣势、开发注意事项!
再见西城 该用户已被删除
5#
发表于 2015-2-9 01:39:44 | 只看该作者
主流网站开发语言之JSP:JSP和Servlet要放在一起讲,是因为它们都是Sun公司的J2EE(Java2platformEnterpriseEdition)应用体系中的一部分。
admin 该用户已被删除
6#
发表于 2015-2-26 17:32:20 | 只看该作者
通过这次激烈的讨论,我从大家身上学到了太多,开阔了眼界,不管是支持我的还是骂我的,都感谢你们。
海妖 该用户已被删除
7#
发表于 2015-3-8 16:26:11 | 只看该作者
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
8#
发表于 2015-3-22 20:14:19 | 只看该作者
可以通过在现有ASP应用程序中逐渐添加ASP.NET功能,随时增强ASP应用程序的功能。ASP.NET是一个已编译的、基于.NET的环境,可以用任何与.NET兼容的语言(包括VisualBasic.NET、C#和JScript.NET.)创作应用程序。另外,任何ASP.NET应用程序都可以使用整个.NETFramework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2025-1-10 05:54

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表