MVCDemo-Controller-1
HomeController:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Data.SqlClient;
using System.Configuration;
using System.Data;
using System.Runtime.Serialization.Json;
using PM.Entities;
using System.IO;
using System.Text;
namespace ProdManage.Controllers
{
public class HomeController : Controller
{
//
// GET: /Home/
public ActionResult Index()
{
return View();
}
public string GetMenu()
{
//string requestData = Request.QueryString();
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString);
conn.Open();
string sql = "select * from Menu";
SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
sda.Fill(ds);
conn.Close();
string result = string.Empty;
if (ds.Tables.Count > 0)
{
result = ds.Tables.Count.ToString();
}
return result;
}
public string GetMenuNavigations()
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString);
conn.Open();
string sql = "select * from Menu";
SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
sda.Fill(ds);
conn.Close();
GetTreeJsonByTable(ds.Tables[0], "MenuID", "MenuName", "ParentID", 0);
return result.ToString();
}
///
/// 根据DataTable生成Json树结构
///
///数据源
///ID列
///Text列
///关系字段
///父ID
StringBuilder result = new StringBuilder();
StringBuilder sb = new StringBuilder();
private void GetTreeJsonByTable(DataTable tabel, string idCol, string txtCol, string rela, object pId)
{
result.Append(sb.ToString());
sb.Clear();
if (tabel.Rows.Count > 0)
{
sb.Append("[");
string filer = string.Format("{0}='{1}'", rela, pId);
DataRow[] rows = tabel.Select(filer);
if (rows.Length > 0)
{
foreach (DataRow row in rows)
{
string URL="\"attributes\":{\"url\":\""+row["URL"].ToString()+" \",\"price\":100}";
//sb.Append("{\"id\":\"" + row[idCol] + "\",\"text\":\"" + row[txtCol] + "\",\"state\":\"open\",\"iconCls\":\"icon-ok\" ");
sb.Append("{\"id\":\"" + row[idCol] + "\",\"text\":\"" + row[txtCol] + "\",\"state\":\"open\", " + URL);
if (tabel.Select(string.Format("{0}='{1}'", rela, row[idCol])).Length > 0)
{
sb.Append(",\"children\":");
GetTreeJsonByTable(tabel, idCol, txtCol, rela, row[idCol]);
result.Append(sb.ToString());
sb.Clear();
}
result.Append(sb.ToString());
sb.Clear();
sb.Append("},");
}
sb = sb.Remove(sb.Length - 1, 1);
}
sb.Append("]");
result.Append(sb.ToString());
sb.Clear();
}
}
}
}
PartController:
using PM.Entities;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
using System.Runtime.Serialization.Json;
using System.Text;
using System.Web;
using System.Web.Mvc;
namespace ProdManage.Controllers
{
public class PartController : Controller
{
//
// GET: /Part/
public ActionResult Part()
{
return View();
}
public ActionResult PartCategory()
{
return View();
}
public string GetParts()
{
string queryStr = string.Empty;
//if(Request.ContentLength>0)
//queryStr = Request
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString);
conn.Open();
string sql = "select * from Part";
SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
sda.Fill(ds);
conn.Close();
List<Part> list = new List<Part>();
foreach (DataRow dr in ds.Tables[0].Rows)
{
Part part = new Part();
part.PartID = Convert.ToInt32(dr["PartID"]);
part.PartCode = dr["PartCode"].ToString();
list.Add(part);
}
DataContractJsonSerializer ser = new DataContractJsonSerializer(list.GetType());
string szJson = ""; //序列化
using (MemoryStream stream = new MemoryStream())
{
ser.WriteObject(stream, list);
szJson = Encoding.UTF8.GetString(stream.ToArray());
}
return szJson;
}
#region PartManage
/// <summary>
/// Part data add\edit
/// </summary>
/// <param name="editFlag">0,add|1,edit</param>
/// <param name="partID"></param>
/// <returns></returns>
public ActionResult PartManage()
{
return View("PartEdit");
}
public int PartSave()
{
int result = 0; //1,success|0,failed
return result;
}
public int PartRemove()
{
int result = 0; //1,success|0,failed
return result;
}
#endregion
}
}
StoreController:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace ProdManage.Controllers
{
public class StoreController : Controller
{
//
// GET: /Store/
public ActionResult Index()
{
var genres = new List<string> { "Rock", "Jazz", "Country", "Pop", "Disco" };
var viewModel = new ProdManage.ViewModels.StoreIndexViewModel
{
NumberOfGenres = genres.Count,
Genres = genres
};
return View(viewModel);
}
//
// GET: /Store/Browse
public string Browse()
{
string message = "Hello from Store.Browse()"+Request.QueryString["genre"];
return Server.HtmlEncode(message);
}
//
// GET: /Store/Details/id
public string Details(int id)
{
string message = "Hello from Store.Details()" + id.ToString();
return Server.HtmlEncode(message);
}
}
}

浙公网安备 33010602011771号