我对MVC中的Razor感到有点困惑。我是RAZOR和MVC的新手,刚刚创建了LOGIN和注册页面进行练习。我的老板让我把一些主题/模板,然后将其与此代码集成。我的问题是:
答案 0 :(得分:0)
是肯定的。超级可能。视图基本上是动态HTML。
只需将html复制到视图中,一旦呈现视图,您将看到整个html。 在渲染时你需要动态的HTML中的任何地方,你可以使用“@”符号,这将启动c#代码。然后你可以创建c#代码并在其中添加html。
示例:
@{
string name = "Jovan";
var dateOfBirth = new { Day = 8, Month = 12, Year = 1980 };
string[] skills = new string[] { "MVC", "C#", "JQuery", "ASP.NET" };
}
<h2>@name</h2>
<p>Born in year: @dateOfBirth.Year</p>
<ul>
@foreach(skill in skills){
<li>skill</li>
}
</ul>
在此示例中,您首先填写要显示的值,然后显示它们。这里每个运行的数量与您填充数组的技能数量相对应,意味着4次可以在每次运行时创建“li”标记。
当然,在大多数情况下,你不这样做。您可以在控制器或更好的服务或业务层上创建值,然后将其通过模型传递给视图。所以基本上查看只是呈现从控制器收到的信息。
这是另一个例子:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Web Pages Demo</title>
</head>
<body>
<h1>Hello Web Pages</h1>
<p>The time is @DateTime.Now</p>
</body>
</html>
在此示例中,页面将始终呈现服务器的当前时间和日期。
另一个例子:
<select id="fieldStaffUsersListBox" multiple size="10">
@foreach (var user in Model.Users)
{
<option value="@user.UserName">@user.FullName</option>
}
</select>
在这里,您将动态创建一个选择框,用于呈现从控制器传递的用户列表,并将Viewmodel传递给视图。
您可以使用本教程了解更多信息: http://www.asp.net/mvc/tutorials/older-versions/javascript/creating-a-mvc-3-application-with-razor-and-unobtrusive-javascript
你需要学习很多东西。
祝你好运:)