这个是我自己记得笔记,最好有点基础看我的。
html 辅助标签
@Html.DropList
分布视图
使用 RenderPartialAsync 呈现分部视图。 此方法不返回 IHtmlContent。 它将呈现的输出直接流式传输到响应。 因为该方法不返回结果,所以必须在 Razor 代码块内调用它:微软推荐
@{
await Html.RenderPartialAsync("_AuthorPartial");
}
由于 RenderPartialAsync 流式传输呈现的内容,因此在某些情况下它可提供更好的性能。 在性能起关键作用的情况下,使用两种方法对页面进行基准测试,并使用生成更快响应的方法。
放在sharp下
JS,Css捆绑(.net5)
模型校验
模型上
【RegularExpression("")】
后端校验
可以·传参true排除属性错误。
模型加上后,label不用写labeltext。
@html.Raw(s.Description)正常渲染html字符串
模型绑定
【formform】表单提交post,form-data
不能写中文
layout布局
_ViewStatrt.cshtml
推荐使用标签助手代替html辅助标签
@addtaghelpers *,使Microsoft.AspNetCore.mvc.TagHelpers 类在我们所有 Razor 视图中可用
可以用了
<partial name="Shared/_ProductPartial.cshtml" for="Product">
model 属性分配模型实例,以传递到分部视图。model 属性不能与 for 属性一起使用。
在以下标记中,实例化新的 Product 对象并将其传递给 model 属性进行绑定:
<partial name="_ProductPartial"
model='new Product { Number = 1, Name = "Test product", Description = "This is a test" }'>
view-data 属性分配 ViewDataDictionary,以传递到分部视图。以下标记使整个 ViewData 集合可访问分部视图:
@{
ViewData["IsNumberReadOnly"] = true;
}
<partial name="_ProductViewDataPartial" for="Product" view-data="ViewData">
在前面的代码中,IsNumberReadOnly 键值设置为 true 并添加到 ViewData 集合中。因此,在以下分部视图中可访问 ViewData["IsNumberReadOnly"]:
@model TagHelpersBuiltIn.Models.Product
<div class="form-group">
<label asp-for="Number"></label>
@if ((bool)ViewData["IsNumberReadOnly"])
{
<input asp-for="Number" type="number" class="form-control" readonly />
}
else
{
<input asp-for="Number" type="number" class="form-control" />
}
</div>
<div class="form-group">
<label asp-for="Name"></label>
<input asp-for="Name" type="text" class="form-control" />
</div>
<div class="form-group">
<label asp-for="Description"></label>
<textarea asp-for="Description" rows="4" cols="50" class="form-control"></textarea>
</div>
自定义标签助手
// 作用于所有包含 "my-id" 属性的 <div> 标签
[HtmlTargetElement("div", Attributes = "my-id")]
// 作用于所有以 "my:" 为前缀的标签(如 <my:card>)
[HtmlTargetElement("", TagStructure = TagStructure.NormalOrSelfClosing, Prefix = "my")]
视图组件
传参
区域保持一致