我们看一下目前为止的应用程序:

可以看到,它有一个电影列表,能够通过底部的链接添加影片。为了建立鼠标悬停效果,我们使用<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):创建编辑数据网页

相关文章

2访客评论

  1. 不错不错,挺实用的。。

    quilts08-19 10:52 回复
  2. 过来看看,留一个记号,支持~

我来说说

(必须)

(必须,保密)

严重鄙视飘过不留毛的鸟
取消