【ASP.NET MVC】使用动软(三)(11)

这篇具有很好参考价值的文章主要介绍了【ASP.NET MVC】使用动软(三)(11)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、问题

上文中提到,动软提供了数据库的基本操作功能,但是往往需要添加新的功能来解决实际问题,比如GetModel,通过id去查对象:

【ASP.NET MVC】使用动软(三)(11),ASP.NET MVC,asp.net,mvc,后端

 这个功能就需要进行改进:往往程序中获取的是实体的其他属性,比如用户登录的时提供账号名和密码,需要根据账户名(唯一)去获取数据库中的实体信息,而不是 id 。

二、解决

通过id查对象和通过其他属性查对象应该是非常类似的,可以 “照葫芦画瓢 ”!

1、先在BLL中添加函数,这里利用的是函数重载(参数类型不同)

【ASP.NET MVC】使用动软(三)(11),ASP.NET MVC,asp.net,mvc,后端

 

 对比上下两个函数,参数不同而已。

2、在DAL中先找到GetModel函数

【ASP.NET MVC】使用动软(三)(11),ASP.NET MVC,asp.net,mvc,后端

 很显然,拷贝后,简单修改一下就可以使用利用账号名查找 的GetModel函数了

3、添加代码:

 public Maticsoft.Model.user GetModel(string username)
		{
			
			StringBuilder strSql=new StringBuilder();
			strSql.Append("select id,userID,password,userName from user ");
            strSql.Append(" where userID=@username");
			MySqlParameter[] parameters = {
					new MySqlParameter("@userName", MySqlDbType.VarChar)
			};
            parameters[0].Value = username;

			Maticsoft.Model.user model=new Maticsoft.Model.user();
			DataSet ds=DbHelperMySQL.Query(strSql.ToString(),parameters);
			if(ds.Tables[0].Rows.Count>0)
			{
				return DataRowToModel(ds.Tables[0].Rows[0]);
			}
			else
			{
				return null;
			}
		}

DAL里两个函数的关系:

【ASP.NET MVC】使用动软(三)(11),ASP.NET MVC,asp.net,mvc,后端

 由此,对动软生成的功能进行了扩展。比如登录时候的验证代码:

       [HttpPost]
        public ActionResult Login(string msg)
        {
            JObject jobject = JObject.Parse(msg);
            string username = (string)jobject["username"];
            string password = (string)jobject["password"];
            Maticsoft.BLL.user bll = new Maticsoft.BLL.user();
            string pwd1 = UserCookie.Encrypt(password);
            Maticsoft.Model.user mod = bll.GetModel(username);
            if (mod == null)
            {
                return Content("error");
            }

            if (password != null)
            {
                string pwd = UserCookie.Encrypt(password);
                if (pwd == mod.password)
                {
                    UserCookie.WriteCookie(mod);
                    return Content("OK");
                }
                else
                    return Content("error");
            }
            return Content("error");
        }

其中: Maticsoft.Model.user mod = bll.GetModel(username);

则是利用提交的用户名(唯一)去获取数据库中对应记录的信息。(拓展功能)

以上有对密码加密、写入Cookie等功能,后文再介绍。文章来源地址https://www.toymoban.com/news/detail-628833.html

到了这里,关于【ASP.NET MVC】使用动软(三)(11)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Asp.Net MVC 使用Log4Net

    在 ASP.NET MVC 中使用 Log4net 需要进行一些配置和代码集成。下面是在 ASP.NET MVC 中使用 Log4net 的步骤: 打开 NuGet 包管理器控制台,并运行以下命令来安装 Log4net: 在你的 ASP.NET MVC 项目中,创建一个名为 log4net.config 的文件(或者其他名称,只要后缀是 .config 即可),用于配置

    2024年02月15日
    浏览(20)
  • ASP.NET Core MVC 使用 JWT 的示例

    创建一个 ASP.NET Core MVC 项目。 添加 NuGet 包: Microsoft.AspNetCore.Authentication.JwtBearer:用于支持 JWT 的身份验证。 System.IdentityModel.Tokens.Jwt:用于生成和验证 JWT。 在 Startup.cs 文件中做如下修改: 请注意,在上述代码中,您需要将以下参数替换为实际的值: \\\"your_issuer\\\" :发行者的标

    2024年02月13日
    浏览(26)
  • ASP.NET Core MVC -- 将视图添加到 ASP.NET Core MVC 应用

    右键单击“视图”文件夹,然后单击“添加”“新文件夹”,并将文件夹命名为“HelloWorld”。 右键单击“Views/HelloWorld”文件夹,然后单击“添加”“新项”。 在“添加新项 - MvcMovie”对话框中: 在右上角的搜索框中,输入“视图” 选择“Razor 视图 - 空” 保持“名称”框的

    2024年02月13日
    浏览(57)
  • ASP.NET MVC - 安全

    为了学习 ASP.NET MVC,我们将构建一个 Internet 应用程序。 第 8 部分:添加安全。 Models 文件夹 包含表示应用程序模型的类。 Visual Web Developer 自动创建  AccountModels.cs  文件,该文件包含用于应用程序认证的模型。 AccountModels  包含  LogOnModel 、 ChangePasswordModel  和  RegisterModel :

    2024年02月21日
    浏览(23)
  • DevExpress DXperience Crack Blazor, ASP.NET, ASP.NET MVC

    DevExpress DXperience helps you build applications for Windows, Web, mobile and tablet with all of the DevExpress single platform controls and more. The DevExpress DXperience Subscription includes hundreds of Desktop UI Controls (WinForms, WPF and Desktop Reporting), Web UI Controls (Blazor, ASP.NET, ASP.NET MVC and Core, Bootstrap Web Forms, JavaScript - jQ

    2024年04月11日
    浏览(27)
  • 界面组件Telerik ASP.NET MVC使用指南 - 如何自定义网格过滤

    Telerik UI for ASP. NET MVC拥有使用JavaScript和HTML5构建网站和移动应用所需的70+UI部件,来满足开发者的各种需求,提供无语伦比的开发性能和用户体验。它主要是针对专业级的 ASP.NET开发,通过该产品的强大功能,开发者可以开发出功能丰富、适应标准广泛的响应式应用程序。 在

    2023年04月13日
    浏览(28)
  • ASP.NET Core MVC -- 入门

     带有 ASP.NET 和 Web 开发工作负载的Visual Studio Visual Studio Code Visual Studio Code 用于 Visual Studio Code 的 C#(最新版本) .NET 7.0 SDK  ctrl + F5 (开始执行,不调试) 在代码工作区间文件夹路径下打开终端运行下面的命令  通过运行以下命令来信任 HTTPS 开发证书: 编译运行

    2024年02月11日
    浏览(28)
  • 【ASP.NET MVC】生成页面(6)

    本应该继续数据库访问的问题进行探讨,前文确实比较LOW。但本人认为:初学者需要解决的是快速了解知识路线的问题,所谓“生存问题”,所以,干脆把流程先走完。 下面这张图在前面已经介绍过:  前文其实已经 “初步” 解决了数据库读写操作了(可理解为 C 到 M 的双

    2024年02月14日
    浏览(24)
  • 【ASP.NET】手把手创建一个ASP.NET项目以及MVC模式的介绍

    🌳 作者:@哈桑c(CSDN平台) 🌲 专栏:C#/.NET系列文章 序号 系列文章 - 【.NET】.NET 框架概述 - .NET环境和开发工具Visual Studio的安装 本文演示如何在 Visual Studio 工具上创建一个 ASP.NET 项目以及 MVC 模式下的项目文件的介绍。相信大家看完之后就会对 ASP.NET 框架有一个初步的认识

    2024年02月06日
    浏览(32)
  • 在ASP.NET MVC中使用JQuery提供的弹出窗口(模态窗口)

    使用 div 图层灵活显示在浏览器的任何位置。默认情况下指定 div 不可见 样式表 在JQuery的官方网站可以下载对应的css样式表。打开官网的样例页。 找到样式表引用路径 将其下载到本机,其中thme 比如,我的样式表路径为 JQuery库 下载JQuery和JQuery-ui库,并放置在对应的路径中

    2024年01月15日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包