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