工作笔记3

 1、@Html.Raw():不对数据进行编码

    js中字符串转数组 var array  =  str.split(',');

 2、WdatePicker时间格式设置:<input type="text" class="form-control" id="friendendDate" name="friendendDate" value="" style="height:30px;150px" onfocus="WdatePicker({ startDate: '%y-%M-%d %H:%m:%s', dateFmt: 'yyyy-MM-dd  HH:mm:ss', alwaysUseStartDate: true })" />

 3、能力检测:

var xmlHttp; 
function createxmlHttpRequest() { 
if (window.ActiveXObject) { 
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 
} else if (window.XMLHttpRequest) { 
xmlHttp=new XMLHttpRequest(); 
} 

 4、当代码无法转换时间格式时,考虑改变服务器时间格式

user.talkingTime = Convert.ToDateTime(user.talkingTime.Value.ToString("yyyy-MM-dd HH:mm:ss"));

5、循环体内尽可能少的操作数据库,在操作数据库之前先做一些条件判断,符合条件后最终再操作数据库。总之,能少操作咱尽量不操作。

6、JQuery对象的each方法中 return false 或者 break 都没有用,得设置个标记。

$('.weixin').each(function () {
            var text = $(this).parent().siblings().eq(2).find('input[type="text"]');
            if (($(this).val() != "" && text.val() != "" && text.val() != "0") || ($(this).val() == "" && text.val() == "")) {

            } else {
                alert("数据不完整");
                //return false;
                flag = false;
                return;
            }
        });

 7、input中的checkbox和radio标签,只有被选中,其value值才会被传到服务器端,这个都忘了,囧。。。。

 <input type="checkbox" class="form-control" name="isDefault" id="isDefault" value="1" style="height:30px" />

 8、要存放到Session中的对象必须加上[Serializable]标签

 9、JiaThis分享按钮:

  http://www.jiathis.com/send/?webid=shareID&url=$siteUrl&title=$siteTitle&uid=$uid 

  shareID 分享ID参数代表你要分享到哪个站点的ID编号, 可以通过这个文档查询:分享网站ID清单 
  $siteUrl 参数代表你要分享的网站链接地址,可以通过动态程序调用 
  $siteTitle 参数代表你要分享的网站页面标题,可以通过动态程序调用,也可自定义。
  $uid(非必须) 代表你注册JiaThis的会员UID,可以登录网站后查到您的UID,用于数据统计。

 10、联机调试:把源码的文件夹发布到IIS中,然后附加进程设置断点,对方请求后就可以捕获。

 11、<a>标签不能用 $('#test').click() 事件模仿点击。

<a href="www.baidu.com" id="test"></a>

 12、接收Post方式提交的数据时可以用Form["参数名"]获取,但是当没有参数名只有参数该怎么获取?答案是流。

Stream reqStream = context.Request.InputStream;
StreamReader sr = new StreamReader(reqStream, Encoding.UTF8);
var param = sr.ReadToEnd();
sr.Close();

13、w3wp.exe是IIS工具的一部分, IIS的应用程序池中的每一应用程序都由一个“工作进程”分别进行管理,也就是w3wp.exe。即不同的站点托管在相同的应用程序(ASP.NET v4.0)中则受同一个w3wp.exe控制。与此进程相关的问题:

  由于Asp.net程序是默认配置,所以Web.Config文件中关于Session的设定如下: 

  <sessionState mode='InProc' stateConnectionString='tcpip=127.0.0.1:42424' sqlConnectionString='data source=127.0.0.1;Trusted_Connection=yes' cookieless='true' timeout='60'/> 

  我们会发现sessionState标签中有个属性mode,它可以有3种取值:InProc、StateServer、SQLServer(大小写敏感) 。默认情况下是InProc,也就是将Session保存在进程内(IIS5是aspnet_wp.exe,而IIS6是W3wp.exe),这个进程不稳定,在某些事件发生时,进程会重起,所以造成了存储在该进程内的Session丢失。以下情况会重启进程:
  1、配置文件中processModel标签的memoryLimit属性 
  2、Global.asax或者Web.config文件被更改 
  3、Bin文件夹中的Web程序(DLL)被修改 
  4、杀毒软件扫描了一些.config文件。

14、打开QQ聊天窗口:

  1、打开会话代码:tencent://Message/?Uin=9002327&websiteName=www.fgwz.la&Menu=yes【红色部分改成自己的qq】

  2、强制添加好友的代码:tencent://AddContact/?fromId=45&fromSubId=1&subcmd=all&uin=9002327&website=www.fgwz.la

  3、谈出聊天窗口页面:window.open ("page.html", "newwindow","height=100, width=400, top=0,left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no")

15、Session存储的对象要记得序列化啊!!!我的哥!!!

16、直接调用selectChange("Init"),函数接收到的第一个参数是string类型的Init,如果通过动态绑定事件来调用方法,则函数接收的第一个参数是event对象。

    selectChange("Init");
    $('#pname').on('change',selectChange);
    function selectChange(value) {
        if (typeof value == "string") {
            $('#name').val(value);
            selectChangeNames(true);
        }else if(typeof value == "object"){                   
            selectChangeNames(false); 
        } else{
            alert("参数有误")
        }
    }     

 17、无法启动MySql服务解决方案:

  第一步:进入bin目录下,创建data文件夹

  第二步:新建配置文件my.ini,执行命令 :mysqld --initialize-insecure --user=mysql (重要步骤,否则无法启动服务)

  第三步:注册服务 mysqld install

  第四步:启动服务 net start mysql

  原文详解:http://jingyan.baidu.com/article/0f5fb0991636376d8234ea7a.html

18、 只有double类型的数据的ToString()方法有重载。“F2”

double a = 12.1234567;

Console.WriteLine(a.ToString("F2"))

19、枚举类型转换成字典

var states = typeof(ServiceConfig.DealState).ToDictionary().Select(w => new SelectListItem() { Text = w.Key, Value = w.Value }).ToList();

20、安装VS不要用软碟通UltraISO,会报无法找到包源,坑爹货!!

21、生产SQL语句拷贝表中数据

--data生成INSERT语句
SELECT TOP 10 * FROM  Manage.vInsertSQL  WHERE TableName='menu'  

 22、SQL中","逗号拼接字段

SELECT uname,value = stuff ((SELECT ',' + t.domain FROM platform_users_domains AS t  WHERE t .uname = tb.uname FOR xml path('')), 1, 1, '') FROM platform_users_domains as tb GROUP BY uname

23、DataTable可以直接进行条件搜索

var data = CSVHelper.GetCsvData(directory, fileName.Replace(".csv", ""));
                    data.Columns[0].ColumnName = "PName";
                    var rows = data.Select("PName <> ''");

 24、td内容不换行

<td style="white-space: nowrap;">@item.uname</td>

 25、jquery find 和 filter:

  find()会在div元素内寻找class为rain 的元素,是对它的子集操作
  filter()则是筛选div的class为rain的元素,是对它自身集合元素筛选

26、做报表的总结:

  a)、报表展示用td,双击变input,显示速度快
  b)、用存储过程整合数据
  c)、拼接sql语句统一执行效率高
  d)、报表所见即所得,js导出带样式的报表 ( 所见即所得 )

function saveXls(id) {
     //导出id为data的div
        var val = $("#data").html().replace(/<input.+?type="hidden".+?>/g, '').replace(/<input .+?value=?"?(.*?)"?>/g, '$1');
        var blob = new Blob([val], { type: "application/vnd.ms-excel;charset=utf-8" });
        saveAs(blob, "@(batch.batchNo+".xls")");
    }

  e)、批量插入!!INSERT INTO 语句的VALUES每次最多可以有1000条记录

  f)、前台用数组push组装数据,转成JSON.stringify()传到后台,再转成对象

  g)、导出Excel的三种方法:applibrary.dll,   office.excel,   NPOI

原文地址:https://www.cnblogs.com/len0031/p/5764180.html