目录
以下内容纯属个人理解,如有错误请指出,一起学习。
1、新建一个类
和数据库字段一样,actId主键自增其他正常。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
public class Activity
{
public int actId { get; set; }
public int userId { get; set; }
public int classId { get; set; }
public string tourItem { get; set; }
public string role { get; set; }
}
还有物品类要转json存在tourItem里,不需要表。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
public class Belongs
{
public Belongs()
{
}
public Belongs(string btype, string bnum)
{
this.btype = btype;
this.bnum = bnum;
}
public string btype { get; set; }
public string bnum { get; set; }
}
2、新建一个controller
3、新建两个service
listservice写的是几个不需要参数的获取所有列表的方法。比如年级班级之类。
4、加入两个工具类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;
/// <summary>
/// Summary description for DBHelper
/// </summary>
public class DBHelper
{
public static string conString = "server=.;database=数据库名;uid=sa;pwd=你的sa密码;";
public static DataSet getds(string sql)
{
using (SqlConnection con = new SqlConnection(conString))
{
SqlCommand cmd = new SqlCommand(sql, con);
using (SqlDataAdapter da = new SqlDataAdapter(cmd))
{
DataSet ds = new DataSet();
try
{
da.Fill(ds);
return ds;
}
catch
{
throw;
}
}
}
}
public static DataSet Query(string sql, params SqlParameter[] cmdParms)
{
using (SqlConnection connection = new SqlConnection(conString))
{
SqlCommand cmd = new SqlCommand(sql, connection);
cmd.Parameters.AddRange(cmdParms);
using (SqlDataAdapter da = new SqlDataAdapter(cmd))
{
DataSet ds = new DataSet();
try
{
da.Fill(ds, "ds");
return ds;
}
catch
{
// log
throw;
}
}
}
}
public static DataTable getdt(string sql)
{
using (SqlConnection con = new SqlConnection(conString))
{
SqlCommand cmd = new SqlCommand(sql, con);
using (SqlDataAdapter da = new SqlDataAdapter(cmd))
{
DataTable dt = new DataTable();
try
{
da.Fill(dt);
return dt;
}
catch
{
throw;
}
}
}
}
public static bool savesql(string sql)
{
bool ifsuccess = false;
using (SqlConnection con = new SqlConnection(conString))
{
SqlCommand cmd = new SqlCommand(sql, con);
try
{
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
catch
{
throw;
}
return ifsuccess;
}
}
public static int Execute(string sql, params SqlParameter[] cmdParms)
{
using (SqlConnection connection = new SqlConnection(conString))
{
using (SqlCommand cmd = new SqlCommand(sql, connection))
{
connection.Open();
cmd.Parameters.AddRange(cmdParms);
var result = cmd.ExecuteNonQuery();
return result;
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Newtonsoft.Json;
using System.IO;
/// <summary>
/// Json帮助类
/// </summary>
public class JsonHelper
{
/// <summary>
/// 将对象序列化为JSON格式
/// </summary>
/// <param name="o">对象</param>
/// <returns>json字符串</returns>
public static string SerializeObject(object o)
{
string json = JsonConvert.SerializeObject(o);
return json;
}
/// <summary>
/// 解析JSON字符串生成对象实体
/// </summary>
/// <typeparam name="T">对象类型</typeparam>
/// <param name="json">json字符串(eg.{"ID":"112","Name":"石子儿"})</param>
/// <returns>对象实体</returns>
public static T DeserializeJsonToObject<T>(string json) where T : class
{
JsonSerializer serializer = new JsonSerializer();
StringReader sr = new StringReader(json);
object o = serializer.Deserialize(new JsonTextReader(sr), typeof(T));
T t = o as T;
return t;
}
/// <summary>
/// 解析JSON数组生成对象实体集合
/// </summary>
/// <typeparam name="T">对象类型</typeparam>
/// <param name="json">json数组字符串(eg.[{"ID":"112","Name":"石子儿"}])</param>
/// <returns>对象实体集合</returns>
public static List<T> DeserializeJsonToList<T>(string json) where T : class
{
JsonSerializer serializer = new JsonSerializer();
StringReader sr = new StringReader(json);
object o = serializer.Deserialize(new JsonTextReader(sr), typeof(List<T>));
List<T> list = o as List<T>;
return list;
}
/// <summary>
/// 反序列化JSON到给定的匿名对象.
/// </summary>
/// <typeparam name="T">匿名对象类型</typeparam>
/// <param name="json">json字符串</param>
/// <param name="anonymousTypeObject">匿名对象</param>
/// <returns>匿名对象</returns>
public static T DeserializeAnonymousType<T>(string json, T anonymousTypeObject)
{
T t = JsonConvert.DeserializeAnonymousType(json, anonymousTypeObject);
return t;
}
}
5、开始写页面
5.1主页的列表
5.1.1后端
先写service,连接数据库并查询所有活动
新建一个ListService类,写入方法
//获取所有活动