如果不是强制性的,为什么要使用asp-controller和asp-action

时间:2018-10-20 12:56:29

标签: asp.net-core tag-helpers

@model Task3.Models.NewUser

<form action="" method="post">
    <label>first Name </label>
    <input type="text" placeholder="enter name" name="firstName"/>
    <input type="text" placeholder="enter last name" name="lastName"/>
    <button type="submit">Submit</button>
</form>

即使没有asp-controllerasp-action,此代码也可以使用。那我为什么要用那些呢?

1 个答案:

答案 0 :(得分:0)

可以使用标记帮助器asp-controllerasp-action 自动生成目标网址,但您没有必须使用它们。他们所做的只是自动为链接生成href属性,为表单生成action属性。如果您想手动填写这些值,没有什么可以阻止您这样做。

但是,使用标记帮助程序有一个明显的好处:您必须使用的实际URL取决于影响应用程序路由的各种因素。因此,如果使用手动值,则必须将其考虑在内。而且,如果您的路由发生更改(出于某种原因),则必须手动更新整个模板中的URL。

通过使用标签助手,您可以将目标位置附加到通常是静态的对象上:控制器动作。这样,您就可以将模板与路由配置分离。

还要特别注意表单操作:如果不指定表单操作,浏览器将自动发布到当前URL。因此,如果在与表单相同的路径上有一个POST处理程序,则可以完全省略该操作并依赖该行为。