当前位置: 首页 > news >正文

asp.net网站建设项目实战资料网站开发的软件支持

asp.net网站建设项目实战资料,网站开发的软件支持,成都多语种网站建设,网络工程适合女生吗ASP.NET Core 是一个跨平台#xff0c;开源的#xff0c;轻量级#xff0c;高性能 并且 高度模块化的web框架。在 ASP.NET Core MVC 中有很多种方式可以给 Action 方法传递参数#xff0c;比如说#xff1a;url方式#xff0c;querystring方式#xff0c;request header… ASP.NET Core 是一个跨平台开源的轻量级高性能 并且 高度模块化的web框架。在 ASP.NET Core MVC 中有很多种方式可以给 Action 方法传递参数比如说url方式querystring方式request headerrequest bodyform 等等。本篇就和大家一起讨论下如何使用这些方式并且用代码去一一验证。创建 AuthorRepository 类 在这个例子中我会使用一个 Repository 类然后在 Controller 下的 Action 方法调用这个 Repository 来实现基本的 CURD 操作首先我们声明一个 Author 类代码如下public class Author{public int Id { get; set; }public string FirstName { get; set; }public string LastName { get; set; }}AuthorRepository 类提供了如下三个方法。GetAuthor 用于从泛型集合中获取 Author 实体Save 用于将 Author 保存到底层的 泛型集合中GetAuthors 用于分页获取 泛型集合中的数据具体代码如下public class AuthorRepository{ListAuthor authors  new ListAuthor(){new Author{Id  1,FirstName  Joydip,LastName  Kanjilal},new Author{Id  2,FirstName  Steve,LastName  Smith}};public Author GetAuthor(int id){return authors.FirstOrDefault(a  a.Id  id);}public ListAuthor GetAuthors(int pageNumber  1){int pageSize  10;int skip  pageSize * (pageNumber - 1);if (authors.Count  pageSize)pageSize  authors.Count;return authors.Skip(skip).Take(pageSize).ToList();}public bool Save(Author author){var result  authors.Where(a  a.Id  author.Id);if (result ! null){if (result.Count()  0){authors.Add(author);return true;}}return false;}}通过 url 方式 最简单粗暴的给 Action 传参就是通过 url 方式下面的代码片段展示了如何通过 url 进行传参。 [HttpGet] [Route(Default/GetAuthor/{authorId:int})] public IActionResult GetAuthor(int authorId) {var data  authorRepository.GetAuthor(authorId);return View(data); }输入的 url 格式如下 GET: http://localhost:8061/Default/GetAuthor/1通过 querystring 方式 这种方式的做法就是采用 ? 的模式好处在于可以不修改 url 的结构信息所以它具有向后兼容性考虑下面的代码片段它是如何使用 querystring 方式向 action 传参的 [HttpGet] [Route(Default/GetAuthors/{pageNumber:int})] public IActionResult GetAuthors([FromQuery (Name  pageNumber)] int pageNumber  1) {var data  authorRepository.GetAuthors(pageNumber);return Ok(data); }输入的 url 格式如下 GET: http://localhost:8061/Default/GetAuthors?pageNumber1值得注意的是 Action 方法的 pageNumber 参数是可选的意味着如果不传入的话默认按照 1 来计算举个例子如果底层的 AuthorList 有 100 条记录 同时当前传递的 page 3那么该方法将会返回 31-40 这10条记录这里的每页返回多少条是采用硬编码的比如我这里定义的是10大家可以根据自己的情况设置合理的值。通过 request header 方式 大多情况下在传递身份信息隐私数据 等场景下会用到这种方式比如说 Basic 验证如下图又或者是将 信用卡 塞入到 header 中下面的代码展示了如何在 Action 中接收 header 中的信用卡号码。 [HttpGet] [Route(Default/IsCreditCardValid/{creditCardNumber})] public IActionResult IsCreditCardValid([FromHeader] string creditCardNumber) {string regexExpression ^(?:(?visa4[0-9]{12}(?:[0-9]{3})?)| (?mastercard5[1-5][0-9]{14})| (?amex3[47][0-9]{13})|)$;Regex regex  new Regex(regexExpression);var match  regex.Match(creditCardNumber);return Ok(match.Success); }为了简化目的IsCreditCardValid 方法只能验证 Visa,MasterCard,Amex 这三种类型的信用卡如果还想扩展到其他信用卡的话你可以自己修改一下因为信用卡号码一般需要被安全的传递所以采用这种方式还是很不错的选择下面展示了如何通过 PostMan 将 信用卡号码 塞入到 header 中。使用 request body 方式 request body 常常用于执行 insert 或者 update 操作也是我们平时在web开发中用的最多的一种参数传递方式下面的代码片段展示了如何使用在 Action 中接收 request body。 [HttpPost] [Route(Default/Insert)] public IActionResult Insert([FromBody] Author author) {return Ok(authorRepository.Save(author)); }接下来看看前端如何 post 数据到 后端来这里继续使用 Postman 来进行测试。DefaultController 的完整代码 为了能够看到全貌下面用 DefaultController 罗列了本篇聊到了所有传值方式。public class DefaultController : Controller{private readonly AuthorRepository authorRepository new AuthorRepository();[HttpGet][Route(Default/GetAuthor/{authorId:int})]public IActionResult GetAuthor(int authorId){var data  authorRepository.GetAuthor(authorId);return Ok(data);}[HttpGet][Route(Default/GetAuthors/{pageNumber:int})]public IActionResult GetAuthors([FromQuery(Name  pageNumber)] int pageNumber  1){var data  authorRepository.GetAuthors(pageNumber);return Ok(data);}[HttpGet][Route(Default/IsCreditCardValid/{creditCardNumber})]public IActionResult IsCreditCardValid([FromHeader] string creditCardNumber){string regexExpression ^(?:(?visa4[0-9]{12}(?:[0-9]{3})?)| (?mastercard5[1-5][0-9]{14})| (?amex3[47][0-9]{13})|)$;Regex regex  new Regex(regexExpression);var match  regex.Match(creditCardNumber);return Ok(match.Success);}[HttpPost][Route(Default/Insert)]public IActionResult Insert([FromBody] Author author){return Ok(authorRepository.Save(author));}}最后你也可以采用 form 的形式给 Action 传递参数不过 form 的场景更多的用于 文件上传要这么做的话可以利用 IFormFile 去搞定。译文链接https://www.infoworld.com/article/3568209/how-to-pass-parameters-to-action-methods-in-asp-net-core-mvc.html
http://wiki.neutronadmin.com/news/324131/

相关文章:

  • 深圳网站制作济南安康微平台
  • 织梦网站怎样做子域名数商云招聘
  • 如何利用网站模板做网站广州网页设计html
  • 网站关键字怎么修改校园网站建设方案模板下载
  • 湖南网站建设 尖端磐石网络wordpress编辑页面上方有白条
  • 自己做发小说网站网站开发 网页设计北京师范大学出版社
  • 12306网站哪个公司做的企业网站标题优化
  • 网站建设外包公司容易被客户投诉吗深圳有名的设计公司
  • 门户网站需要多大的服务器深圳商城网站建设公司
  • vip视频网站怎么做废旧物品手工制作图片
  • 凡科免费建站如何做市场营销推广
  • 南山区住房与建设局官方网站西双版纳 网站建设
  • 免费企业网站程序上传怎么做购物网站
  • 创联互动建设网站外包公司被辞退有补偿吗
  • 长宁做手机网站建设网站源代码上传都需要怎么做
  • 郑州高端做网站汉狮湛江搜索引擎网站推广
  • 萌宝宝投票网站怎么做360度网站模板
  • 天津建设企业网站做封面网站
  • 汉川市建设局网站做数据收集网站
  • 网站建设的美图互联网登录的网站名
  • 网站添加外链企业vi设计公司报价
  • 绍兴的网站建设公司ios应用程序开发
  • 网站建设公司制作网站wordpress 添加子菜单
  • 合肥市城乡城乡建设局网站杭州百度首页排名
  • 晋中市两学一做网站广告设计公司如何壮大
  • 古镇灯饰网站建设熊掌号一级a做爰片免费网站中国片
  • 企业网站优化推广网站,商城,app 建设
  • 网站开发工作经验简历网络设计目标
  • 海口网站开发建设wordpress 前台用户中心
  • 郑州网站制作价格建设网站需要购买哪些