繁体   English   中英

ASP.NET中的标记助手

[英]Tag helpers in ASP.NET

我正在通过本教程学习ASP.NET Core

我现在要添加搜索功能,这需要在Razor Page和基础C#类之间传递数据。 为此,我被指示以这种方式进行:

<select asp-for="MovieGenre" asp-items="Model.Genres">
   <option value="">All</option>
</select>

当然,我已经适当地初始化了字段Genres ,因此列表可以。

据我了解,在属性as asp-for我们指定目标变量。 它很好地向URL中的查询字符串添加了变量,但是这非常麻烦,因为我需要基础类中的字段,该名称必须准确匹配。 因此,我必须具有MovieGenre字段。 但是,如果我只想将其添加到查询字符串中又有什么意义呢? 它背后的想法是什么?

我想出了一种更简单的方法:

<select name="movieGenre" asp-items="Model.Genres">
    <option value="">All</option>
</select>

仅将movieGenre=...添加到URL,而无需在我的课程中声明额外的字段。

那么,如果我们拥有简单得多的name属性,为什么还要使用asp-for

标记帮助器根据asp-for属性中指定的属性名称添加idname 给定这个标记:

<input asp-for="Name" />

上方的标签助手会生成以下HTML:

<input type="text" id="Name" name="Name" />

如您所见,通过使用标签助手,您不再需要编写这些属性。 它们将自动为您生成。

它还可以在编码时为您提供适当的智能感知。 因此它实际上是用于创建表单元素的语法糖。

更多信息( +

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM