jQuery EasyUI 记要

一、生成表格 GridView

    创建GridView有两种方式:

    1.以编程方式创建,指定datagrid属性即可(其它属性可查看demo或文档)

$('#tableView').datagrid({    
url: '../../Controller/RoleController.ashx?OperationType=role&page=1&rows=' + AdjustPageSize()
});

    2.在HTML标记上指定CSS class类,EasyUI会通过类名easyui-datagrid隐式创建

<table id="tableView" class="easyui-datagrid" singleselect="true" title="GridView"
idfield="RoleId" width="100%" height="auto" nowrap="false" striped="true" rownumbers="true"
pagination="true">
</table>

其二者不可重叠,否则会产生两次异步请求。

二、导出Excel,解决乱码

string filename = "角色信息.xls";
filename = HttpUtility.UrlEncode(filename, System.Text.Encoding.UTF8);
context.Response.ContentType = "application/vnd.ms-excel;charset=UTF-8";
context.Response.AddHeader("Content-Disposition", string.Format("attachment;filename={0}", filename));
context.Response.Clear();

 

三、ashx文件中使用Session

1、using System.Web.SessionState;

2、类实现IRequiresSessionState

public class DoAjax : IHttpHandler,IRequiresSessionState

{

}

完成以上两步就可以正常使用Session了。

 

四、ashx文件中使用Server.MapPath()

HttpContext.Current.Server.MapPath("")

 

五、单数据库 事务处理(非TransactionScope)

如果使用TransactionScope,会导致分布式事务被触发,见倒数第三位所述(来自stackoverflow.com)

而一个针对单数据库的建议可以查看这里(来自stackoverflow.com)

我自己的实现跟其建议差不多,且是有效的:

try

{

    if (dbContext.Connection.State == System.Data.ConnectionState.Closed)

    {

        dbContext.Connection.Open();

    }



    /*

        为了兼顾那些非EF操作,即采用直接拼Sql作数据库访问时,数据库链接需作一点转换:

        cmd.Connection = (dbContext.Connection.BeginTransaction as EntityConnection).StoreConnection;

     * 

     */

    using (DbTransaction ts = dbContext.Connection.BeginTransaction())

    {

        BaseRole _role = role;



        BaseSequnce sequnce = dbContext.BaseSequnces.SingleOrDefault(s => s.SequnceId == 10000011);

        sequnce.KeySequnce = sequnce.KeySequnce + 1;

        sequnce.SortReduction = sequnce.SortReduction - 1;

        dbContext.SaveChanges();



        sequnce = dbContext.BaseSequnces.SingleOrDefault(s => s.SequnceId == 10000011);

        _role.RoleId = sequnce.KeySequnce;

        _role.SortCode = sequnce.SortReduction;



        //最后一步

        dbContext.BaseRoles.AddObject(_role);

        dbContext.SaveChanges();

        ts.Commit();

    }

    return true;

}

catch

{

    return false;

}

finally

{

    if (dbContext.Connection.State == System.Data.ConnectionState.Open)

    {

        dbContext.Connection.Close();

    }

}

你可能感兴趣的:(jquery easyui)