




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、代码清单5t moviescontrol ler类中的完整代码using mvcmovie.models;using system.linq;using system;using system.webmvc;namespace mvcmovie.controllerspublic class moviescontroller : controllermoviedbcontext db = new moviedbcontext();public actionresujlt index )var movies=from m in db.movieswhere m.releasedate>ne
2、w datetime(1984,6,1)select m;return viewmovies tolist();这段代码实施了一个linq査询来获取1984年夏天z后发行的所有电影。我们还需耍一 个视图模板来显示这个电影清单,所以在index方法内点击鼠标右键,然后点击“添加视图 來添加一个视图。由于这里我们需要将一个movie类传递给视图,所以在“添加视图对话框中,与本教程 中前几次在该对话框中z行的操作有所不同,前几次我们都是直接点击添加按钮来创建一个 空口的视图模板,但是这一次我们想让visual web developer为我们自动创建一个具有一些 默认处理的强类型的视图,所以我们勾选
3、“创建强类型视图复选框,在模型类下拉框屮选择 /zmovie(mvcmovie.models),z (如果模型类屮不存在这个类,请先点击调试菜单下的"生成 mvcmovie"生成该类),在支架模板下拉框中选择"list,最后勾选"引用脚本"复选框,如图5-2 所示。图5-2添加强类型视图点击添加按钮,visual web developer fl动生成一个视图,并且自动在视图文件中添加 显示电影清单所盂要的代码。这里,我们首先用与前面修改helloworld控制器所用的视图 屮的标题同样的方法来修改这个movies控制器所用视图中的标题。代码清
4、单52为修改后的这个视图中的完整代码。在这段代码中,我们将releasedate (发行h期)属性的格式化字符串从原来的“0: g修改为“0: d"(长日期修改为短日期), 将price(票价)属性的格式化字符串从原来的"0: f"修改为0: c (float类型修改为货币类 型)。另外,将列表标题屮的文字全部修改为屮文名称。代码清单5-2 movies控制器所用视图中的完整代码model ienumerable<mvcmovie.models.movieviewbag.title = ”电影清单“;<h2>我的电影清单</h2>&l
5、t;p>. actionlink (”追加”,"create")<table><tr><thx/th><th>电影名称</th><th>发行日期</th><th>种类</th><th>票价</th></tr>foreach (var item in model) <tr><td>htm 丄 actionlink ("编辑 j "ed itj new id=item> id )
6、ihtml actionlink (”查看明纟田 j 'details11, new id=item. id )|qhtml. actionlink ('delete11, new id=item. id )</td><td>item>titie</td><td>stringformat(”0:d", item.releasedate)</td><td>item.genre</td><td>stringformat(n0:c2n, item.price)</td
7、></tr></table>5. 2强类型模型与©model关键字在木教程的前文中,我们介绍了一个控制器可以使川viewbag对象來将数据或对彖传递 到视图模板中。viewbag是一个动态对彖,它提供了一种便利的,后期绑定的方法来将信息 从控制器传递到视图中。asp.net mvc也提供了一种利川强类型的方法來将数据或对彖传递到视图模板中。这种 强类型的方法为你的编码过程提供了很丰富的编辑吋的智能输入提示信息少非常好的编译 时的检查。接卜-来我们将结合这种方法与我们的movies控制器(moviescontroller)与视图 模板(index.csht
8、ml) 一起使用。请注意在我们的moviescontroller控制器的index方法中,我们在调用view()方法吋传 入了一个参数,代码如下所示。public class moviescontroller : controllermoviedbcontext db = new moviedbcontext();public actionresult index()var movies = from m in db.movieswhere m.releasedate > new datetime(1984, 6z 1)select m;return view(moviestolist(
9、);请注意如下这一行代码表示将一个movies列表从控制器传递到了视图中。return view(moviestolist();通过在视图模板文件的头部使用model语句,视图模板可以识别传入的参数屮的对象 类型是否该视图模板所需要的对象类型。请记住当我们在创建这个movies控制器所使用的 模板时,我们在“添加视图”对话框中勾选了 “创建强类型视图”复选框,在模型类下拉框 中选择了 "movie(mvcmovie.models)” ,在支架模板下拉框中选择了 “list”。所以visual web developer自动在我们的视图模板文件的第一行屮添加了如下所示的语句。model
10、 tenumerable<mvcmovie models.movie>model关键字允许我们在视图模板中直接访问在控制器类中通过使用强类型的“模型 而传递过来的movie类的列表。例如,在我们的index.cshtml视图模板中,我们可以通过 foreach语句来遍历这个强类型的模型,访问其屮的每一个movie对象。代码如下所示。foreach (var item in model) <tr><td>1.actionlink("编辑”,uedituz new id=item.id )|htm丄 actionlink ('喳看明细11, n
11、detailsn, new id=item. id )|htm 1 .actionlink ("删j除 j udeletej new id=item< id )</td><td>item.title</td><td>string.format(”0:d", item.releasedate)</td><td>item.genre</td><td>string.format (”022”,item price)</td></tr>因为这里的“模型”是强
12、类型的(lenumerabmovie所以在循坏遍历时“模型”屮 的每一个项目(“item” )也是一个强类型的movie对象,可以宜接访问该对象的每一个属 性。同时这也意味着我们可以在编译时检査我们的代码,同时在书写代码时也可以使用代码 编辑器提供的智能输入提示信息,如图5-3所示。detutjw>c4x<g cihhhk x |2vg</th><th></th> </tr>layout uhiflutforeach (v®r itea in model) <tr><td>aetionlink (*
13、l-641 , 'edit' f new ( id=ite»- id |) | ®itr1. letxonlink(*wii36# *d<tnlr nev xciteiu 15 】)i mtid actonlinkdelete*. m(lditer. d i)</td><td>xteil title</td><td> i ir . foraat (* (0: d *, iteru relexseate)</td> <td> itd 刨"d> gmre«qp
14、 oethashccxfej紗p mvcmovie . propertrs 引用j gx1 j con 林 - coneohcountcongfera<j htlbgxmcccol小 i hmtccntrower cst movesccnolibrcs 2 med?怯tj ocountmoleltcs 弓 mo/ecs ± j saiptfi -亠 v«w5 lj aooount s htlk)mxm:fi*hc teviegerttncittit.price)</td>* 468</tr>1</t<ble>100 u
15、71; x;-*级据赛更swnes或ik决方宴刃f壹理塾it细w21th 21ht文伶 ««<£)蜒sb忆 ss<e)«s(e> ia<i> ao «m<h< j'l 10t“僦山坯图5-3可以使用强类型“模型”所带来的智能输入提示信息53与sql server express结合使用我们在本节前面创建了一个moviedbcontext类,用来连接数据库,并将数据库中的记 录映射到movie对彖。你也许会问一个问题,怎样定义数据库连接?接下来我们通过在 web.config文件小增加一些连接信息
16、來定义-个数据库的连接。打开应用程序根fi录下的web.config文件(请注意不是views文件夹下的web.config 文件),如图54所示。图5-4打开应用程序根目录下的web. config文件在web.config文件的<connectionstrings>元素屮追加类似如下所示的连接字符帝。<configuration><connectionstrings><add name=f,appliestionserviceshconnectionstring=ndara source=.sqlexpress;integratedsecurity
17、=sspi;attachdbfi丄enmme=idatadirectoryiaspnetdb.mdf;user instance=truenprovidername=nsystem.datasqlclienth /><add name=nmoviedbcontexthconnectionsti?ing=" data source= sqlexpress;initial catalog=movies;persist security info=true;user id=aaa;password=aaaaaaa hprovidername=nsystem.data.sqlcl
18、ientn /></connectionstrings>connectionstring属性的值表示我们想耍使用sql server express的一个本地实例中的 movies数据库。当你安装visual web developer express的时候,安装过程屮也会同时门动在 你的计算机屮安装sql server express,你可以利用它來进行有关数据库的管理工作。运行应用程序,在浏览器中输入"http:/localhost:xxxx/movies",浏览器中将会显示一张 空的电影列表,如图55所示。图5-5数据库中没有数据时将默认显示空的列表
19、ef code-first如果发现使用我们提供的连接字符串而连接到的数据库屮没有“movies"数 据库,它将白动为我们创建一个。你可以在类似x:program filesmicrosoft sql mssql10.sqlexpressmssqldata这样的sql server的安装口录下去查看是否该数据库已 被创建。另外注意,在木教程的前面部分屮,我们采用如下所示的代码创建了一个movie模型。using system;using system.data.entity;namespace mvcmovie.modelspublic class moviepublic int id
20、 get; set; public string title get; set; public datetime releasedate get; set; public string genre get; set; public decimal price get; set; public class moviedbcontext : dbcontextpublic dbset<movie> movies get; set; 如您所见,当我们第一次使川moviescontroller控制器类来访问moviedbcontext所指向 的实例时,entity framework可以白
21、动为你创建一个新的movies数据库,并且将 moviedbcontext类的movies属性映射到一个新的movies表,并j1 口动将它创建。这个表 中的每一行被映射到一个新的movie类的实例,movies表的每一列被映射到movie类的一 个属性。你iij以使用sql server management studio来查看使用模烈创建出来的数据席与数据 表。在 windows 的开始菜单中打开 sql server management studio,并且连接到 web.config 屮所配置的数据库,如图56所示。图 5-6 使用 sql server management stud
22、 i o 连接数据库点击“连接”按钮进行连接,查看数据库,可以看见movies数据库与数据表已被创建, 如图57所示。图5-7 movies数据库与数据表已被创建 鼠标右击movies数据表,并点击"设计",如图5-8所示。图5-8点击“设计”查看movies表的属性你可以看见movies表中各字段的属性,其中id字段被自动设定为自增长主键,如图 5-9中所示。 licronoft sql. server ifinucftbent studiot丄安全桂 竝性 _l «#»;«> d uj0lmpr1ss i5l$erv.r 10 0 -
23、j »«*a (j丄 s»m< brokeri ntdeteune rr.«r(tk*-<cc) dec<m3 0)2s3itl* ee5tdtegrrepice乙rrttf旦盘虽艾件 nffiiz) tqibqr) j5bh) 丄 ihtgjlqd jj心 jimo) «d<t) tt£o «rh q$)ijjissquxfb 4bo i”| >c列名?j8良型尤许恳|<hvai.二葯18关系s)二?丄利世3 dbo bmt«t«4»te£ dbo
24、 iant ire te afi 义 si(kk)b (««)csb)n it直久ft比明ii性工x(mjxw nuum 觞识列mq喜现数18空间航 momam枚升aw图5-9查看movies表中各字段属性这里请注意movies表小各字段是如何映射到movie类屮各属性上的。entity framework code-fist自动在你创建的movie类的基础上创建了这张movies数据表。你现在已经可以访问数据库中的movies数据表,并门有了一个简单的页面来显示这个 表中的内容。在下一节,我们将增加一个追加数据的方法和一个追加数据的视图,并h向数 据库中追加一些数据。第六
25、节增加追加数据的方法和视图在木节屮我们将要在数据库屮追加并保存一些数据。我们将要创建一个表单以及一些表 单输入控件,用来输入数据信息。当用户提交表单时将把这些用户输入的信息保存在数据库 中。我们可以通过在浏览器中输入z/htt p :/l oca i h ost :xx/m o vies/createw这个url地址来访问这 个表单。6.1显示追加信息时所用表单首先,我们需要在我们的moviescontroller类屮追加一个create方法,该方法返回一个 视图,该视图中包含了用户输入信息时所要用到的表单。public actionresult create()return viev();现
26、在让我们來实现这个create方法中所要返回的视图,我们将在这个视图中向用八显 示追加数据时所需要用到的表单。在create方法中点击鼠标右键,并点击上f文菜单中的“添 加视图。在"添加视图对话框中选择“创建强类型视图,将模型类指定为"movie,在支架模板 中选择create,如图6-1所示。图6-1添加追加数据时所用视图点击添加按钮,views文件夹下的movies文件夹小将会h动添加一个名为 “create.cshtml”的视图模板文件。因为你在支架模板屮选择了 “create”,所以支架模板会 在该视图模板文件中口动生成一些默认代码。打开该文件进行查看,在该文件中已
27、经口动创 建了一个html表单,以及一段川來显示校验时错i吴信息的文字。visual web developer检 杳movies类,并白动创建与该类中每个属性相对应的<label>元索以及<input>元索。支架模 板自动生成的创建数据所用视图屮的代码如代码清单6-1所示。代码清单6-1支架模板自动生成的创建数据所用视图中的代码model mvcmovie. models. movieviewbag. title = "create"<h2>create</h2><script src=,zur 1 content c
28、 vscripts/jquery. validate min. js")"type 二"tex t/javascr ipt,z></scr ipt><script src=z,ljr 1 con tent ("'/scripts/jquer y. validate unobtrusive min. js")type 二"text/javascript,z></script>您using (lltml. beginformo) ©him 1. vai ideltionsumma
29、ry (true)<fieldset><legend>movie</legend><div class",zeditor-laberz>©himi. labelfor(model => model. title)©lltml. editorfor(model => model. title)©html. validationmessageeor(model => model. title)</div><div class=/zeditortabel">
30、169;html. labelfor(model => model. releasedate)</div><div class=/yeditor-field,/>©html. editoreor(model => model. releasedate)htm1. va1idationmessageeor(mode1 => model. releasedate)</div><div class="editor*-label">©html. label for(model => mode
31、l. genre)</div><div class二"editor-field"editorfor (model => model. genre)©html. vaiidationmessagefor(model => model. genre)</div><div class二"editor-label"labelfor (model => model. price)</div><div class二"editor-field"©html.
32、editorfor(model => model. price)validationmessageeor (model => model. price)</div><p><input type二"submit" value=,create" /></p></fieldset><div>actionlink ("back to list", "index")</div>这段代码中使用了儿个html帮助器的方法来帮助简化html标签的
33、书写方法。html.labelfor 帮助器用于显示字段名("title","releasedate","genre"或者"price")。 html.edito汗or帮助器用于显示一个提供给用户输入信息的html的<input>元素。html.validationmessagefor帮助器用于显示一个针对属性的校验信息。请注意我们的视图模 板的顶部有一个"model mvcmovie.models.movie''的声明,该声明将我们的视图模板屮的 模型"强类型化成一
34、个movie类。运行应用程序,在浏览器中输入"http:/localhost:xx/movies/create",浏览器中显示如图 6-2所不。图6-2支架模板自动生成的视图在书写中文网站或中文web应用程序的时候,可以将代码清单6-1中的代码修改为代 码清单6-2中所示代码。代码清单6-2将支架模板自动生成的代码进行汉化model mvcmovic. models. movieviewbag. title = 追加电影信息";52追加电影信息</h2><script sre二"ur1 content("/scripts/jq
35、uery validate min. js")"type=,/text/javascript,/x/script><script sre一"ur 1 content (z,/scripts/jquery. validate unoblrusivo min. js")" type",/text/javascript,/x/script>©using (html. beginformo) ©htm 1. validationsumiiuiry (true)<fieldset><leg
36、end> 电影 </l egend><div class二"editor-label"标题©lltnil. editorfor(model => model. title)©html. validationmessageeor(model => model. title)</div><div cl ass 二"ed it ortabel">发行日期</div><div class="editor-field">©html.
37、 editoreor(model => model. releasedate)©lltnil. vaiidationmessageeor (model => model. releasedate)</div><div class="editor-label"种类</div><div class二"editor-field"editorfor(model -> model. genre)©html. vaiidationmessagefor(model => model. ge
38、nre)</div><div classeditor-label,z>票价</div><div class二"editor-field"©html. editorfor(model => model. price)vaiidationmessagefor(model -> model. price)</div><p><input type二"submit" value二"追加"/></p></fieldset>)
39、<div>©lltnil. actionlink c返回电影列表","index")</div>修改完毕后唾新运行程序,然后访问http:/localhost:xx/movies/createn这个地址,浏 览器中显示如图6-3所示。图6-3中文化后的追加电影信息画面鼠标右击浏览器中显示的该页而,点击“显示源代码,显示出来的源代码如代码清单 6-3所示。(为了突出本节内容,只显示与本节中相关部分)。代码清单6-3追加电影信息画面在浏览器中的html代码<!doctype html><html><hea
40、d><meta htlp-cquiv二"content-type" content二气cxt/html; charset二utf-87><title>追加电影信息</title><link href=z,/content/site css" :rel二"stylesheet" type二"text/css" /><script src=,7scripts/jquery- 1.4. 4. min. js"type=,/text/javascriptz&quo
41、t;></script></head><body><h2追加电影信息</h2><script sre二"/scripts/jquery validate min js"type二"text/javascript"</script><script sre二/scripts/jquery. validate unobtrusive min. js"type=,ztext/javascript/></script><form action=vm
42、ovies/crcate,z method二"post"<fieldset>< 1 egcnd> 电影 </legcnd><div class二"cditortabcl">标题<input class二"tcxt-box single-1 inc,z id-"titlc" name二"title" type二"text" value二""/><span class=/,field-validation
43、-valid,z data-valmsg-for=/ztitlez, data-val msg-rep i acc=,truo,z></span></div><div c 1 ass=,edi tor-1 abe 1,z>发行日期</div><div class二"editor-field"<input class二气ext-b(x single-1 ine,z data-val=z,true,z dala-val一required二"the releasedate field is require
44、d" id=z,rclcasedatez,namo=zzro 1 oascdattypo="toxt" valuo二""/><span c1 ass二"field-va1idation-valid"data-valmsg-for二"releasedate"data-valmsg-replace二"lrue"></span></div><div c 1 ass=,edi tor-1 abe 1,z>种类</div><
45、div class二"editor-field"<input class二气ext-b(x single-1 ine,z id二"genre" name=,/genre type二气ext" value=" /><span class=zzfiold-validation-val id,z data-va 1 msg-for="gonrez, data-valmsg-replace二"truc"/></div><div class二"editottabe
46、l">票价</div><div class二"editor-field"<input class=z,text-box singletine" data-val二气rue" data-val-numbor="tho field price must bo a number.,z data-val-required二"the price field is required"id-"price" name二"price" type二"tex
47、t" value二" /><span class=/,field-validation-valid,z data-valmsg-for=/zprice/, dat a-val msg-rep lacc=,ztrue/"></span></div><p><input type二"submit" value二"追加"/></p></fieldset></form><div><a href=,7m()vies,&
48、gt;返回电影列表</s></div><div id二"footer"</div></body></html>从这段代码屮可以看出,表单的action属性被设置为7movies/create,当点击追加按 钮时会把表单屮各文木框屮的数据提交到服务器端进行保存。6.2 处理 http-p0st至眦为止,我们己经实现了显示追加数据所用表单的所需代码。我们的下一步是编写代 码来进行表单提交到服务器后的处理。我们将要获取用户在数据库中输入的信息并r将它们 作为一个新的movie保存到数据库中。为了实现这一处理,我们需
49、要在moviescontroller类屮追加第二个create方法。这个 create方法具冇一个httppost属性,它意味着我们将要用它来处理提交至u"/movies/create" 这个url地址的请求。另外,所冇提交到"/movies/create"这个url地址的非post的请求 (即get请求)将被第一个create方法进行处理,即简单地返回一个空的表单。代码清单6-4中所示代码为moviescontroller类中的两个create方法的全部代码。代码清单6-4 mov i escontrol i er类中的两个create方法的全部代码p
50、ublic actionresult create()return vicw();httppostpublic actionresult create(movie newmovie)if (modelstate. isvalid)db. movies. add(newmovie);db. savcchangos ();return rcdirccttoaction cindox");elsereturn view(newmovie);之前我们介绍了 asp.net mvc可以h动地将一个url地址中的杳询字符串中的参数(例 如:传递到/7helloworld/welcome?name
51、=scott&numtimes=5/,)作为一个方法的参数传递到 方法中。同样地,除了传递查询字符串中的参数之外,asp.net mvc也可以用这种方法來传 递提交后的表单参数。提交后的表单参数可以作为一个独立的参数传递到一个方法中。例如,asp.net mvc framework可以将我们捉交的表单中的控件值作为参数传递到具冇httppost属性的create 方法屮,如下所示。lhttppostpublic actionrcsult cideate (slicing title, datetime rclcascdate, string genre, decimal price)提
52、交的表单值也可以被映射到一个复合的,具有属性的对彖(譬如我们的movie类), 并且作为一个单一的参数传递到一个方法中。在代码清单64中我们使用的就是这个方法。 请注意create方法是怎样作为一个参数来接收movie对象的。httppostpublic actionresult create(movie newmovie)if (modelstate. isvalid)db. mov ies. add (newmov i e);db. savechanges ();return redirecttoaction("index");return view(newmovie)
53、;modelstate.isvalid属性用来检査提交的表单中的数据是否能够被用来创建一个movie 对象。如果数据是有效的,我们的代码将把提交上来的这个movie类追加在moviesdbcontext 对象的实例中的movies集合中。调用我们的moviesdbcontext对象实例的savechanges方 法将把这个movie对象保存在数据库中。保存数据完毕后,代码把画面重定向到 moviescontroller类的index方法中,浏览器屮将会打开电影清单显示曲而,并且在电影清单 中显示刚才追加的这条数据。如果提交的值是无效的,将会返回到电彩信息追加画面中,并且在表单的各输入控件中 显
54、示各门的提交的值。各输入控件的html.validationmessagefor帮助器将会显示对应的出错 信息。6. 3追加一条电影信息运行应用程序,在浏览器中输入uhttp:/localhost:xx/movies/create,在表单中输入一 条电影信息,然后点击追加按钮,如图64所示。匚 i£ad 电 kfzjfi. windo wk iritcrncl fxplorisfenc m*»/locho<i442d/movi«t/cted7 *t x©0彳m-和卜mow77<a<d mw »wza0<a> 9-j
55、kp n"妙金余 颐%«.a s我的mvcmovie应用程序 图6-4追加电影信息点击追加按钮进行提交,表单中输入的这条电影信息将会保存到数据库中,保存后浏览 器中将打开电影清单画而,并且将这条追加的电影显示在清单中,如图6-5所示。图6-5追加后电影将显示在电影清单中你町能已经注意到了在这个电影清单画面小将刚才追加的电影票价显示成了 10元,ku 不是用户输入的9.99元,这是因为当前该数据表中decimal类烈的默认和度只能识别与处理 整数值,并且白动将小数部分四舍五入。关于如何解决这个问题,我们将在下一节屮对模型 进行一些调整的时候会同时进行介绍。现在我们已经有了一个
56、web应用程序的维形,我们可以在数据库小追加数据,显示数 据。代码清单6-5是现在这个moviescontroller类的完整代码。代码清单6-5 moviescontrol ler类的完整代码using mvcmovie.mode1s;using systemlinq;using system;using system. webmvc;namespace mvcmoviecontrollerspublic class moviescontroller : controllermoviedbcontext db = new moviedbcontext();public actionresul
57、t index0var movies=from m in db. movieswhere m. releasedate>new datetime(1984, 6, 1)select in;return view(moviestolist();public actionresult create()return viev();httppostpublic actionresult create(movie newmovie)if (modelstate. isvalid)db. movies. add(newmovie);db. savechanges();return redirectt
58、oaction("index");elsereturn viev(newmovie);在下一节,我们将介绍如何为我们的模型添加附加的属性,如何在映射后的数据库小定 制我们的票价列的精度。第七节在movie (电影)模型与数据表中添加字段在本节屮我们将要对我们的模型类进行修改,同时介绍如何在asp.net mvc3屮根据这 些修改來调整我们数据衣的结构。7. 1在我们的movie模型中添加一个rating(电影等级)属性首先,我们在现存的movie类中添加一个附加的"rating"属性。打开movie.cs文件,在 movie类中添加一个rating属性,
59、如下所示。public string rating get; set; 现在完整的movie类的代码如代码清单7-1所示。代码清单7-1完整的movie类的代码public class moviepubl ic int ii)public string titlepublic datctime rcleascdate got; sot; public string genrepublic decimal pricepublic string rating点击"调试菜单下的生成mvcmovie,重新编译应用程序。现在我们已经将我们的模型进行了更新,让我们同样地修改我们的views文件夹
60、下的 movies文件夹下的index.cshtml文件与create.eshtml这两个视图模板文件,在视图中添加这 个rating属性。首先打开index.cshtml文件,在内容为"票价(对应price属性)wth元素后而追加"vth 电影等级v/th列标题(对应rating 性)。在显示price属性内容的td元素后面追加一个 vtd元素,用来显示rating属性的内容。进行了这两个修改示的index.cshtml文件屮的主要 内容如下所示。<table><tr><th></th><th>电影名称</
61、th><th>发行日期</th><th>种类</th><th>票价</th><th>电影等级</th></tr>foreach (var item in model) <tr><td>html. actionlinkc编辑","edit", new id=item. td ) |©html. actionlinkc查看明细”,"detels", new id=item. id ) |html. ac
62、tionlink(*删除","delete", new id=item. id )</td><td>item. title</td><td>string. format c0:d”,i tem. releasedate)</td><td>item. genre</td><td>©string. format(”0:c2", item.price)</td><td>©item. rating</td><
63、;/tr>)</table>接下来打开create.cshtml文件,在表单底部追加如下所示的标签。它将显示为一个文 木框,用来输入rating属性的内容。<div c 1 ass=,/editor-1 abe 1电影等级</div><div class二"editor-field"html. editorfor(model => model. rating)©him1 va1idationmessagefor(modei => mode1 rat ing)</div>7.2维护模型与数据库结构之间的差别现在我们己经将应用程序修改
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 粮食品牌建设与营销策略-洞察阐释
- 一年级下册道德与法治教案
- 校园足球知识竞赛活动方案
- 企业车辆无偿调拨使用合同
- 车辆交易税费垫付借条模板
- 体育馆场所租赁及赛事举办合作协议
- 智能车棚租赁与车辆停放安全保障合同
- 餐饮企业股东合作协议:股权调整与经营管理
- 2025建筑工程施工合同(标准中英)
- 2025护理人员劳动合同书
- DB11∕T 2000-2022 建筑工程消防施工质量验收规范
- 人脸识别门禁系统使用指南
- 酒店安全设施
- 水下机器人研究报告
- 建筑项目部考勤管理制度
- 中班健康课件《我不挑食》
- 中国盐业集团有限公司招聘笔试题库2024
- 2024年人教版小学四年级信息技术(上册)期末试卷附答案
- 运动是良医智慧树知到答案2024年成都师范学院
- 四川省凉山彝族自治州 2023-2024学年八年级下学期7月期末道德与法治试题
- 2024年安徽省高考生物试卷(真题+答案)
评论
0/150
提交评论