我们看一下目前为止的应用程序:
可以看到,它有一个电影列表,能够通过底部的链接添加影片。为了建立鼠标悬停效果,我们使用<a>标记将列表中每个电影条目设置为超链接。如果在希望编辑电影时只需使用此超链接,那将非常有用,那么我们看一下如何实现此功能。
1.创建编辑网页
首先,在WebMatrix中创建一个新CSHTML网页,将它命名为EditMovie.cshtml。此网页最终将包含一个窗体,其中填充了所选电影的详细信息,当您更改这些详细信息时,更改将提交回数据库。
将EditMovie.cshtml中的默认内容替换为这样一个窗体。该窗体非常类似于在上一部分中创建的窗体。
| <h1>Edit a Movie</h1><form action=”" method=”post”><p>Name:<input type=”text” name=”formName” /></p>
<p>Genre:<input type=”text” name=”formGenre” /></p> <p>Year:<input type=”text” name=”formYear” /></p> <p><input type=”submit” value=”Edit Movie” /></p> </form> |
2.从电影列表调用编辑网页
我们现在了解了编辑窗体的基本知识。但是如何使用您所选的特定电影的数据库内容来初始化该窗体?首先,我们看一下如何告诉此网页您希望编辑哪部电影,为此我们必须返回到dataMovies.cshtml网页。
您可能还记得,我们按照以下形式编写了一些列表项:
| <li><a href=”#”>@row.Name, @row.Genre, @row.ReleaseYear</a></li> |
超链接不会转到任何地方,因为href还仅仅是”#”。我们让超链接转到EditMovie.cshtml网页,如下所示:
| <li><a href=”EditMovie.cshtml “>@row.Name, @row.Genre, @row.ReleaseYear</a></li> |
这很不错,但是无论您选择哪部电影,它将总是调用EditMovie.cshtml,而且此网页不知道您正在编辑哪部电影。但 是,ataMovies.cshtml 网页已经知道您编辑的电影,因为您已选择了它,所以您可以将您所选电影的ID传递给EditMovie.cshtml,如下所示:
| EditMovie.cshtml?id=<something> |
而且由于我们已经知道当前行的id是什么(@row.id),我们可以在写出列表时使用Razor写出该ID,按如下形式更改<li>:
| <li><a href=”EditMovie.cshtml?id=@row.id”>@row.Name,@row.Genre,@row.ReleaseYear</a></li> |
现在查看dataMovies.cshtml,会得到以下界面:
它看起来没有任何区别,我们看一下此网页的HTML代码。这不是您在WebMatrix中看到的.cshtml网页,而是服务器(从cshtml中的指令)生成并发送给浏览器的HTML。
在Internet Explorer 9中,可以右键单击网页上的任何地方并选择“查看源代码”来查看此代码
| 1: <!DOCTYPE html>2: <html lang=”en”>
3: <head> 4: <meta charset=”utf-8″ /> 5: <title>My Favorite Movies</title> 6: <link rel=”stylesheet” type=”text/css” href=”movies-html5.css” /> 7: </head> 8: 9: <body> 10: <header> 11: <h1>A list of my Favorite Movies</h1> 12: </header> 13: 14: <div id=”movieslist”> 15: <ol> 16: <li><a href=”EditMovie.cshtml?id=1″>It’s a wonderful life, Comedy, 1946</a></li> 17: <li><a href=”EditMovie.cshtml?id=2″>Lord of the Rings, Drama, 2001</a></li> 18: <li><a href=”EditMovie.cshtml?id=3″>The Fourth World, Anime, 2012</a></li> 19: <li><a href=”EditMovie.cshtml?id=4″>The Lion King, Family, 1994</a></li> 20: <li><a href=”EditMovie.cshtml?id=5″>Forrest Gump, Comedy, 1994</a></li> 21: <li><a href=”EditMovie.cshtml?id=6″>The Million Year Journey, Anime, 2014</a></li> 22: </ol> 23: 24: <a href=”AddMovie.cshtml”>Add a new movie</a> 25: </div> 26: 27: <footer> 28: 29: This site was built using Microsoft WebMatrix. 30: 31: <a href=”http://web.ms/webmatrix”>Download it now.</a> 32: 33: </footer> 34: 35: </html> 36: |
现在您了解了在创建外观时,如何将此特定行的ID值写出到HTML。现在,当EditMovie.cshtml加载时,我们可以获取此ID并使用它来查找我们感兴趣的特定记录。
转载请注明:灵龙空间 » WebMatrix使用教程(7):创建编辑数据网页


不错不错,挺实用的。。
过来看看,留一个记号,支持~