冯 海

一个程序新人菜鸟的日记,希望大家多多关照。QQ:32316131

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.我们新建两个控制器,让系统自动生成编、建、删等。

 

 

 

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

 

  

 

posted @ 2018-01-14 15:21  秋天来了哟  阅读(1164)  评论(0)    收藏  举报
认识就是缘份,愿天下人都快乐!
QQ: 32316131
Email: 32316131@qq.com