MVC的写法

来源:互联网 发布:js 获取div自定义属性 编辑:程序博客网 时间:2024/05/29 02:41

Models:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;
using TLabWebapi.Code;

namespace TLabWebapi.Models
{
    public class SubLabUsers
    {
        public int UserID { get; set; }
        public string Username { get; set; }
        public string Password { get; set; }
        public int RoleID { get; set; }
        public string EMail { get; set; }
        public string Tel { get; set; }
        public string Phone { get; set; }
        public DateTime Creater { get; set; }
        public bool  IsApproved { get; set; }
        public string RoleName { get; set; }

         public static List<SubLabUsers> LabUserGet(string wheresql)
        {
            List<SubLabUsers> lists = new List<SubLabUsers>();

            string sql = "select * from lab_Users AS u ";
            sql += " INNER JOIN dbo.lab_Roles AS r ON  u.RoleID=r.RoleID ";
            sql += " INNER JOIN dbo.lab_UserInStation AS us ON u.UserID = us.UserID  ";
            sql += " INNER JOIN dbo.lab_Station AS s ON s.StationID=us.StationID  where 1=1 ";
            if (!string.IsNullOrEmpty(wheresql))
            {
                sql += string.Format(" and {0} ", wheresql);
            }
            DataSet ds = DBHelperSQLLab.ExecuteDataSet(sql);

            if (ds.Tables.Count > 0)
            {
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    SubLabUsers model =new SubLabUsers();
                    model.UserID = StrUtils.GetInt(dr["UserID"]);
                    model.Username = StrUtils.GetString(dr["Username"]);
                    model.Password = StrUtils.GetString(dr["Password"]);
                    model.RoleID=StrUtils.GetInt(dr["RoleID"]);
                    model.EMail=StrUtils.GetString(dr["EMail"]);
                    model.Tel=StrUtils.GetString(dr["Tel"]);
                    model.Phone=StrUtils.GetString(dr["Phone"]);
                    model.Creater=Convert.ToDateTime(dr["Creater"]);
                    model.IsApproved = StrUtils.GetBool(dr["IsApproved"]);
                    model.RoleName=StrUtils.GetString(dr["RoleName"]);

                    lists.Add(model);
                }
            }
            return lists;
        }


        public static SubLabUsers PoplateFromDataRow(DataRow dr)
        {
            SubLabUsers model = new SubLabUsers();
            model.UserID= StrUtils.GetInt(dr["UserID"]);
            model.Username= StrUtils.GetString(dr["Username"]);
            model.Password = StrUtils.GetString(dr["Password"]);
            model.RoleID = StrUtils.GetInt(dr["RoleID"]);
            model.EMail = StrUtils.GetString(dr["EMail"]);
            model.Tel = StrUtils.GetString(dr["Tel"]);
            model.Phone = StrUtils.GetString(dr["Phone"]);
            model.Creater = Convert.ToDateTime(dr["Creater"]);
            model.IsApproved = StrUtils.GetBool(dr["IsApproved"]);
            return model;
        }
    }
}


Controller:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using TLabWebapi.Code;
using TLabWebapi.Models;

namespace TLabWebapi.Controllers
{
    public class LabUserController : ApiController
    {
        public IEnumerable<LabUser> GetUsers()
        {
            List<LabUser> model = new List<LabUser>();
            model = LabUser.GetList();
            var result = (from LabUser item in model
                          select item).ToList();
            result.ToList().ForEach(x =>
            {
                string username = x.username;
                if (!string.IsNullOrEmpty(username))
                {
                    string i = LabUser.AddList(StrUtils.GetInt(x.userid),x.username,x.password,StrUtils.GetInt(x.isapproved));
                }
            });
                
            return model;
        }

        public IEnumerable<LabUser> GetUsers(string name)
        {
            List<LabUser> model = new List<LabUser>();
            if (!string.IsNullOrEmpty(name))
            {
                model = LabUser.GetList18(name);
            }
            else
            {
                model = LabUser.GetList18();
            }
           
            return model;
        }
    }
}


app.configure:

<add key="getUsers" value="SubLabUsers/GetUsers?w="/>


只在界面部分填写sql语句后面的Where条件,更安全可靠

界面:

     private void BindDataGridView()
        {
            username = tb_userName.Text;
            station = cb_Station.Text;
            role = cb_Roles.Text;
            state = cb_state.Text;
            string sql = " 1=1 ";
            if (!string.IsNullOrEmpty(username))
            {
                sql += string.Format(" and u.Username like '{0}%'", username);
            }
            if (!string.IsNullOrEmpty(station))
            {
                sql += string.Format(" and s.StationName like '{0}%'", station);
            }
            if (!string.IsNullOrEmpty(role))
            {
                sql += string.Format(" and r.RoleName like '{0}%'", role);
            }
            if (state=="有效")
            {
                sql += string.Format(" and u.IsApproved='{0}'", "True");
            }
            if (state == "无效")
            {
                sql += string.Format(" and u.IsApproved='{0}'", "False");
            }
           
            string strurl = ConfigurationSettings.AppSettings["getUsers"];
            string result = AppConfig.GetApp(strurl + sql);
            var test = JsonConvert.DeserializeObject<SubLabUsers[]>(result.ToString());

            //if (test.Any())
            //{
                dataGridView1.AutoGenerateColumns = false;
                dataGridView1.DataSource = test;
            //}
        }


0 0