zoukankan      html  css  js  c++  java
  • [mvc]记一次“项目”的历程

      大二上半学期因为选修课的原因,答应帮老师完善学院的选课系统。在这之前没有做过一个可以成为“项目”的项目,本着挑战自己的原则和可以不上选修课的福利,断断续续用了一学期的时间来完善这个选课系统。

      接受这个项目的时候,项目已经被一个学姐做的差不多了,基本框架模型都有了。值得一提的是,学姐是现学现做,用的是我软伟大的Asp.net WebForm,所见即所得!特别佩服学姐,在没有任何基础的前提下,能一步一步搭出一个基本框架。所以我的核心工作就是优化、添加一些细节功能和修改一些逻辑上的错误。我既然是接手,所以就在基础上继续缝缝补补,没有用什么三层,就是Code-behind,所有的代码都堆在后台cs中,哪儿有错改哪儿,那儿不够哪儿加。在临近期末的时候终于给老师提交了一个能用的版本。可是总觉着差点什么。所以就在寒假这几天,把整个项目用MVC重写了一遍,过程比较顺畅,哪儿不会查哪儿,历时三天,终于实现了大多数功能。(值得一提的是,学校里许多人做着一些小项目,用的大多是WinForm,WebForm,当然编程语言都是C#。希望.net的生态能越来越好,希望大家能从使用.net到爱上.net

      重写的过程中,用到的技术有Asp.net MVC,EntityFramework,Sql,Html,jQuery,Ajax...

      说是用到的技术,实则都是用了各自的皮毛,唯一核心是MVC,之前大概学习过MVC,但基本是只了解MVC是个什么,核心的asp.net技术知道的还是不多;用EF主要是为了查询数据方便(最纠结的是是VS安装有问题,Migrations不能用);至于直接用SQL查询,关键还是对EF了解的太少,不会用EF操作已经存在的数据库;有因为是做网站,前端技术还是要用一些的,不过用来用去,最多的还是jQuery的选择器。

    故事背景和技术背景谈完了,再谈谈这三天遇到的种种问题。。

    1.jQuery(前端相关):这块个人接触其实不多,停留在知道有这么个东西,知道遇到不会的技术用什么关键字去百度。

    2.MVC:对于MVC中的M应该有两种解读吧,一种是ViewModel,还有一种就是Model了.实际在用的时候,没有去纠结ViewModel还是Model,想着那个方便就用哪个了,不过铁的原则还是不变,

        ViewModel绝对不用到和View不相关的地方;

        其次布局页和分布页也是重点,个人理解,目的还是在于代码复用吧;

        由于用到Ajax,所以许多数据用Json格式传输,所以不得不提到一个JsonResult,我是这么用的。

    JsonResult json=new JsonResult
    {
        Data=data,//data是要传输的对象
        JsonRequestBehavior=JsonRequestBehavior.DenyGet;//允许通过Get方式请求数据       
    }

        最后return json;就可以。

    3.Sql:关于Sql,用的是一个SqlHelper,挺好用的。

    4.EF:个人使用ef只是停留在简单套路上,可是用的还不咋样,许多问题任然要靠百度。

       这儿有一点要提,之前一直不懂如何把MVC+EF项目部署到本地IIS上,后来发现发现,可以让EF直接操作SqlServer中的数据库,这样无论部署在哪儿都没问题了。

       让EF直接操作SqlServer中的数据库,终点是连接字符串要配置正确。

    <connectionStrings>
        <add name="ConStr"
          connectionString="Data Source=CQ-PC;Initial Catalog=学生信息;User ID=demo;Password=123456" providerName="System.Data.SqlClient"></add>
      </connectionStrings>

       然后再DbContext中指定连接字符串即可。例如:

     public class UserInfoContext:DbContext
        {
            public UserInfoContext() : base("ConStr")
            { }
            public DbSet<UserInfo> User { get; set; }
        }

       这儿指定的连接字符串是“ConStr”,这个一定要相同。

    其实还有许多遇到的问题,有机会再写。

    总之,这次这个项目的心得就是我只是在重复做着数据库的CURD,我是一个菜鸟。”

  • 相关阅读:
    ExtJS小试 TreePanel
    ExtJS 之panel tabpanel 和window 的简单使用
    ExtJs2.1未知明错误
    Extjs xtype
    ibatis 初体验
    MS数据库分页
    EXTJS 简单登陆
    php5.2.9 apache2.2 mysql5.1 phpMyAdmin3.2配置
    安装配置Ruby for Eclipse
    ExtJs之gridPanel初探
  • 原文地址:https://www.cnblogs.com/cjw1115/p/5194089.html
Copyright © 2011-2022 走看看