c# mvc5+ef 实现简单答题系统1-新建项目
我将我整体的项目,打包分享出来。
链接: https://pan.baidu.com/s/1ht7fA3U 密码: q7k3
背景:
我想实现一个功能,就是手机上分享一个链接,然后别人用手机或PC都可以点开答题,答对答错有提示,并进入下一步。答完后给多少分,可以重来一次,也可以选择结束。不需要保存考分这些复杂的东西。
象微信上的什么家乡话考试呀,党的十九大知识测试呀,得分排行榜这些都不要。
网上找了很多,实在是及麻烦,比如PHPEMS,强能是相当强大,可他必须要登录且有考场之类的,我没法只能自己思考做一个。
一、用VS2017新建项目,身份验证选择无。
为什么选择无哩,是因为我本来就是简单管理,再加上用户管理就繁烦了。因为一旦有用户管理就有角色管理。至于如何验证他的管理员进行数据修改,我象上次弄的BOSS刷新系统一样,在Web.config中增加一个变量,每次进行核对,要是正确就认可,否则直接提示不正确。
二、老方法,进行web.config,在<configuration>下面加入连接字符串
<connectionStrings> <add name="MyContent" connectionString="Data Source=PC-201704192313;Initial Catalog=jsks;User Id=sa;Password=XXXXXX" providerName="System.Data.SqlClient" /> </connectionStrings>
到时发布的时候要更改这个Source。
三、安装相应的包。
1.安装EntityFramework:在工具中打开,NuGet包管理器,选择第二项,搜索,安装,我是搜索的EntityFramework字段,选择最后的,右边勾上,点安装。
2.安装分页:搜索PagedList.Mvc进行安装。
3.安装导入XLS的NPOI,但怎么搜不出来,我是命令行安装。
Install-Package NPOI
四、其他配置
1.配置变量。这个变量是用于核实新建的时候用的,是不是管理员的意思。
<appSettings>
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
<add key="myString" value="123321" />
</appSettings>
2. 理顺思路。
两个表。
一个表就是题目表,为了简单,使用NPOI用XLS导入。同时只用了单选题,因为就是他用得多。
另一个表,就是类型。相当于答题列表。一个列表对应一个ID值插入每道题目中。
同时在导入的时候,不作删除原数据。但删除列表的时候删除该 ID栏目对应的题目。
3.建立DAL文件夹。
在下面新建一个KsContext类。
using System.Data.Entity;
namespace myks.DAL
{
public class KsContext : DbContext
{
public KsContext(): base("MyContent")
{
}
}
}
4.在Model下面新建一个题目的Models: KaoShi.cs
namespace myks.Models
{
public class KaoShi
{
public string Id { get; set; }
///sortint要用于题目的显示排序
///
public int SortInt { get; set; }
/// <summary>
/// ID关联我们的答题列表参数
/// </summary>
public string KaoShiId { get; set; }
///题目类型 ,为了简单,这里我都默认的是字符1,表示单选,为以后扩展方便。
public string KaoTiColumn { get; set; }
public string KaoTiTitle { get; set; }
///我为了简单,都设了4个选择。及ABCD.
public string KaoTiA { get; set; }
public string KaoTiB{ get; set; }
public string KaoTiC { get; set; }
public string KaoTiD { get; set; }
///正确的选择
public string CorrectOptions { get; set; }
/// <summary>
/// 分值
/// </summary>
public int Score { get; set; }
///题目的说明
///
public string Explain { get; set; }
}
}
5.新建一个model为 KaosiList.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace myks.Models
{
public class KaosiList
{
public string Id { get; set; }
/// <summary>
/// 考题的标题
/// </summary>
public string Title { get; set; }
///首页的背景
///
public string BgIndex { get; set; }
///答题的背景
///
public string BgContent { get; set; }
///主办方的名称
public string Sponsor { get; set; }
///显示日期
public string ListDate { get; set; }
}
}
6.我们新建两个控制器,让系统自动生成编、建、删等。

到此为止,所有的初始化就完了吧,我们就两个控制器,两个表,呵,现在下一章。
浙公网安备 33010602011771号