zoukankan      html  css  js  c++  java
  • RAZOR显示表格数据

    asp.net mvc4.0 razor页面获取数据库表记录显示在页面上,页面前段显示字段名必须区分大小写,否则不认识字段名,提示错误信息

    1.control类
     public ActionResult ListUser()         {             //TestDataContext db = new TestDataContext();             //IEnumerable<tbUser> model = from u in db.tbUser orderby u.vchUserCode select u;             //return View(model);             try             {                 string strSql = "select VCHUSERCODE,VCHUSERNAME,VCHORGCODE,INTKIND,INTSTATUS," + //VCHPASSWORD,                          "VCHSEX, VCHIDCARD, TSPLATERLOGIN, VCHLATERIP, VCHEMAIL, VCHCREATOR,DATCREATE, VCHDES, DATPASSWORD " +                          "from DBO.TBUSER order by DATCREATE;";                 DbHelper db = new DbHelper();                 DbCommand cmd = db.GetSqlStringCommand(strSql);                 DataSet ds = db.ExecuteDataSet(cmd);                 List<IDictionary> list = ConvertToDictionary(ds.Tables[0]);                 return View(list);             }             catch (Exception ex)             {                 throw new Exception(ex.Message);             }         }         private List<IDictionary> ConvertToDictionary(DataTable dtObject)         {             var columns = dtObject.Columns.Cast<DataColumn>();             var dictionaryList = dtObject.AsEnumerable()                 .Select(dataRow => columns                     .Select(column =>                         new { Column = column.ColumnName, Value = dataRow[column] })                              .ToDictionary(data => data.Column, data => data.Value)).ToList().ToArray();             return dictionaryList.ToList<IDictionary>();         }

    2.razor页面
    @* @model IEnumerable<Contract.Web.Code.tbUser> *@
    @using System.Dynamic
    @model List<System.Collections.IDictionary>
     
    @{
        ViewBag.Title = "ListUser";
    }
     
    <h2>ListUser</h2>
     
     
    <p>
    @Html.ActionLink("刷新", "ListUser")
    </p>
            
     
    @{
        var result = new List<dynamic>();
     
        foreach (var emprow in Model)
        {
            var row = (IDictionary<string, object>)new ExpandoObject();
            Dictionary<string, object> eachEmpRow = (Dictionary<string, object>)emprow;
     
            foreach (KeyValuePair<string, object> keyValuePair in eachEmpRow)
            {
                row.Add(keyValuePair);
            }
            result.Add(row);
        }
        //var grid = new WebGrid(result);
        
        var grid = new WebGrid(source: result , columnNames:new[]{"VCHUSERCODE","VCHUSERNAME","VCHEMAIL"},
        defaultSort: "VCHUSERCODE", rowsPerPage: 20);
      }
     
    @* @if (@Model != null)
     {
         @grid.GetHtml(tableStyle: "grid", headerStyle: "head", alternatingRowStyle: "alt");
     }*@ 
     
     @grid.GetHtml(
       tableStyle: "grid", 
         headerStyle: "head",
       alternatingRowStyle: "alt",
       columns: grid.Columns(
       grid.Column("VCHUSERCODE", "用户编号"),
       grid.Column("VCHUSERNAME", "用户名称"),
        grid.Column("VCHEMAIL", "Email")   
       )
      )
    
  • 相关阅读:
    iOS开发系列-Category
    OC开发系列-内存管理
    OC开发系列-@property和@synthesize
    OC开发系列-成员变量的作用域
    OC开发系列-类与对象
    MySQL
    JavaWeb
    POJ1845-Sumdiv大数约数和
    poj1159 Palindrome 区间DP
    poj 2955 Brackets 区间DP
  • 原文地址:https://www.cnblogs.com/qiu18359243869/p/14434758.html
Copyright © 2011-2022 走看看