ASP.NET Core MVC入门——2
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了ASP.NET Core MVC入门——2,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2586字,纯文字阅读大概需要4分钟。
内容图文
![ASP.NET Core MVC入门——2](/upload/InfoBanner/zyjiaocheng/635/9964103f2576492eb3319a3faedf5ed8.jpg)
如何识别到Controller:
asp.net core mvc是通过URL来识别请求中的控制器,默认URL路由逻辑是/[Controller]/[ActionName]/[Parameters]
默认URL的路由格式在项目中的Startup.cs中有定义,ActionName表示控制器类中的方法。
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
如果URL 是 localhost:59191/HelloWorld,则表示对应访问HelloWorldController类的Index方法。
如果URL 是 localhost:59191/HelloWorld/Welcome,则表示对应访问HelloWorldController类的Welcome方法。
我们尝试修改Welcome方法如下
public string Welcome(string name, int numTimes = 1)
{
return HtmlEncoder.Default.Encode($"Hello {name}, NumTimes is: {numTimes}");
}
如果URL 是 localhost:59191/HelloWorld/Welcome?name=Money&numTimes=10,则会显示10次Money。
MVC中的View
1 在Views文件夹上右键,添加 > 新建文件夹,命名为HelloWorld。
2 右键HelloWorld文件夹,添加“视图”,取名为Index,则会生成一个Index.cshtml,这是一个Razor视图文件,Razor是一个类似html的可以用C#编写的文件类型,方便将数据模型和视图进行绑定使用。
3 Index.cshtml文件内容改为如下,
@{
ViewData["Title"] = "Index";
}
<h2>Index</h2>
<p>Hello from our View Template!</p>
4 将HelloWorldController中的index方法改为如下
public IActionResult Index()
{
return View();
}
5 此时,就可以再次运行,发现 localhost:59191/HelloWorld的页面是Index.cshtml中的效果。控制器中Index方法只有一条语句return View()。表示需要返回一个view视图类型来回复给用户。这里View()中没有指明使用哪个视图文件为空,asp.net的MVC会使用默认视图,即方法名称对应的视图,即HelloWorld目录下的index.cshtml文件。
Views/Shared/_Layout.cshtml
这个文件是所有视图文件都会使用的模板,可以通过修改这个文件修改所有视图公共的部分。
打开该文件,里面有一行如下
<title>@ViewData["Title"] - Movie App</title>
ViewData是一个字典类型的变量,可以在控制器和视图中使用,如上这行表示使用ViewData中名为Title的值,这个Title是每个页面自己定义的,这样就会根据不同页面显示不同的值,从这里也可以看出,每个视图先执行,然后执行共享的视图。
ViewData
控制器中的数据如何传递给视图显示呢?
我们这里看个示例:将HelloWorld中Welcome改为如下,有两个参数。通过ViewData成员变量传入Message和NumTimes
public IActionResult Welcome(string name, int numTimes = 1)
{
ViewData["Message"] = "Hello " + name;
ViewData["NumTimes"] = numTimes;
return View();
}
如果通过URL为 localhost:59191/HelloWorld/Welcome?name=Money&numTimes=10,则name和numTimes自动映射到参数上。这里没有大小写之分。
创建Welcome视图,其中代码如下,通过ViewData使用Message和NumTimes。@表示其后使用C#语法。
@{
ViewData["Title"] = "Welcome";
}
<h2>Welcome</h2>
<ul>
@for (int i = 0; i < (int)ViewData["NumTimes"]; i++)
{
<li>@ViewData["Message"]</li>
}
</ul>
内容总结
以上是互联网集市为您收集整理的ASP.NET Core MVC入门——2全部内容,希望文章能够帮你解决ASP.NET Core MVC入门——2所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。