jquery 实现table表格分页 即时计算 非ajax方式

将最近项目中自行编写的分页功能源码贴起来,实际使用发现非常方便,执行过程流畅,逻辑也通用。效果就是对页面上的整个Table进行分页每页20条,非AJAX方式。在大型列表需要填写并post保存时这样的分页尤其方便。

调用方法:hanaGridPager(【含有table的div的id】,【到第x页】)

*注意table内要有tbody标签,否则请把totalRow计算那里逻辑自行修改。最后就是table外面要有一层div,div的id写入第一个参数中。

function hanaGridPager(container, toPage) {
    var $container = $(container)
    var totalRows = $('table', $container).find("tbody tr").length;
    var totalPages = parseInt(totalRows / 20 + (totalRows % 20 != 0 ? 1 : 0));
    $container.find(container + "_pager").remove();
    $container.append("<div id='" + container.replace("#", "") + "_pager' class=\"buttondiv\">共" + totalRows + "条记录 &nbsp; 当前第" + toPage + "页 &nbsp; 共" + totalPages + "页 </div>");

    //页码前显示5个,后显示5个
    for (var i = 0; i < (totalPages > 10 ? 10 : totalPages); i++) {
        if (totalPages < 10) {
            $(container + "_pager").append("<a class=\"pager" + ((i + 1) == toPage ? "current" : "") + "\" href=\"javascript:hanaGridPager('" + container + "'," + (i + 1) + "); \">" + (i + 1) + "</a>");
        } else if (i <= 5) {
            if (toPage - 5 + i >= 1) {
                $(container + "_pager").append("<a class=\"pager" + ((toPage - 5 + i) == toPage ? "current" : "") + "\" href=\"javascript:hanaGridPager('" + container + "'," + (toPage - 5 + i) + "); \">" + (toPage - 5 + i) + "</a>");
            }
        } else if ((toPage - 5 + i) <= totalPages) {
            $(container + "_pager").append("<a class=\"pager\" href=\"javascript:hanaGridPager('" + container + "'," + (toPage - 5 + i) + "); \">" + (toPage - 5 + i) + "</a>");
        }
    }

    //显示具体条目
    $('table', $container).find("tbody tr").hide();
    for (var i = 1; i <= (totalRows < 20 ? totalRows : 20); i++) {
        $('table', $container).find("tbody tr:eq(" + (toPage * 20 + (i - 1) - 20) + ")").show();
    }
}

.NET 读取 前台Javascript传递的escape转义字符

Javascrpt中转义方法:var testTxt = escape(“123+456-789”)

.NET后台转义escape文本不需要自己写方法(百度出来很多都是自己写的escape方法),只需要引用一个“Microsoft.JScript”程序集,然后代码调用如下。

string tmpVal = Microsoft.JScript.GlobalObject.unescape(editValue);

后台escape则是

string tmpVal = Microsoft.JScript.GlobalObject.escape(editValue);

Windows 远程桌面3389端口修改

百度了一些经验,总结为如下代码,下面红字的11111请修改为想要的端口号,复制到cmd执行或者保存为bat文件执行均可,如下代码前两行为添加防火墙例外,所以无需再手动添加防火墙例外,后两行修改端口的注册表。

netsh advfirewall firewall add rule name="Remote PortNumber" dir=in action=allow protocol=TCP localport="11111"
netsh advfirewall firewall add rule name="Remote PortNumber" dir=in action=allow protocol=TCP localport="11111"
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp" /v "PortNumber" /t REG_DWORD /d "11111" /f 
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v "PortNumber" /t REG_DWORD /d "11111" /f