分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

Asp.Net core Razor页面的请求方法

发布时间:2023-09-06 01:25责任编辑:蔡小小关键词:暂无标签

我们知道可以将代码和模型放在.cshtml文件里面或与.cshtml匹配的.cshtml.cs文件中。

Razor页面处理程序或处理方法将用户请求匹配到我们的方法,请求来自.cshtml文件。

Razor页面遵循特定的命名约定。例如下面这些:

  • OnGet
  • OnPost
  • OnGetAsync
  • OnPostAsync
  • OnPostStudent

从上面的例子中我们可以看到该命名都是以"On"开头,然后跟上它的请求方式,其次是可选的Handler名称,最后以Async结尾表示它是异步。

默认的请求处理方法:

默认的post请求,如果不指定action,它会找OnPost()方法。如果有,则调用对应的方法,没有的话将不触发任何方法。

<form method="post"> ???<input type="text" /></form>
public void OnPost(){   ?}

如果您同时实现OnPost()和OnPostAsync,则会出现以下错误:

如果我们的页面有多个post请求,例如下面:

public void Post(){}public void PostFirst(){}

我们可以采用给form表单添加asp-page-handler属性来自定义请求处理方法:

<form method="post" asp-page-handler="First"> ????<input type="text" /></form>

上面的请求将请求PostFirst()方法,因为该方法的Handler和表单对应的属性对应。

处理方法参数

将参数传递给处理方法有两种方法:

  • 表单输入
  • 表单元素借助asp-route Tag Helper

通过表单输入传递参数:

<form method="post"> ???<input type="text" name="name"/></form>
public void OnPost(string name){ ???}

通过路由传递参数:

第一个请求将请求OnPost方法并给参数name赋值为666。

第二个请求将请求OnPostRemove方法,并给参数id赋值为1。

<form method="post" asp-route-name="666"> ???</form><form method="post" asp-route-handler="Remove" asp-route-id="1"></form>
public void OnPost(string name){ ???}public void OnPostRemove(int id){}

Asp.Net core Razor页面的请求方法

原文地址:http://www.cnblogs.com/shx666/p/7833899.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved