开发项目中遇到的问题集锦随时更新

1.form标签不能嵌套,嵌套产生的后果:

  1. 在谷歌、火狐浏览器下样式没有问题,但在ie浏览器下样式会变样,乱了。
  2. 提交表单会产生问题。      

2.使用jquery.dialog弹出层插件遇到的奇怪问题

  1.<a href="javascript:alert("成功");">点击我</a>脚本不会触发(有时候,大多数情况是这样的)而<a href="javascript:void(0);" onclick="alert("成功");">点击我</a>这样就可以。

3.

$.ajax({

//data:"action=UpdateSubscribe&subname="+$.trim($("#CtrlSubsccribeName").val())+"&subwebname="+subwebname+"&subwebUrl="+$.trim($("#CtrlSubsccribeWebUrl").val())+"&mark="+$("#CtrlUpdateSubMark").val()+"&subID="+$("#CtrlSubPID").val(),
data:{"action":"UpdateSubscribe","subname":$.trim($("#CtrlSubsccribeName").val()),"subwebname":subwebname,"subwebUrl":$.trim($("#CtrlSubsccribeWebUrl").val()),"mark":$("#CtrlUpdateSubMark").val(),"subID":$("#CtrlSubPID").val()},
type: "post",
dataType:"json",
url:PersonalApp + "/Space/AjaxDo.aspx",
success: function(data){callback_UpdateSubscribe(data)},
error: function(){
return;
}
});

使用Jquery.ajax访问上面这个网址,后台程序返回的json格式数据,没有问题,但是总是走error,后来在网上查找相关的文章,试着改了一下就好了data参数没有时也要传{},不然返回的xml格式数据,所以我就按着这种方式传值,就没问题了。

4.设置网站图标步骤:制作一个名为favicon.ico图标,其后缀名一定得是.ico格式的,把它放在网站根目录下就可以了。

5.jQuery 日程管理插件或计划安排插件 参考网址:http://www.kaiyuanba.cn/html/1/231/233/258/7566.htm

6.javascript Date对象 new Date(传进来的时间)谷歌/ie9与火狐、ie6/7/8不一样 如果转换不了返回的值 谷歌/ie9返回 Invalid Date  而ie6/7/8返回NaN

7.在ie7浏览器下浮动元素不自动换行问题解决办法:给一个宽度自适应auto并在给一个最小宽度min-50%(一数值)

8.设置overflow的一个更流行的用处是,说也奇怪,清除浮动。设置overflow并不会在该元素上清除浮动,它将清除自己(self-clear)。意思就是,应用了overflow(auto或hidden)的元素,将会扩展到它需要的大小以包围它里面的浮动的子元素(而不是叠了起来(collapsing)),假设未定义高度。就像这样:在ie7浏览器下使用比较多。

 

 9.使用jquery-ui autoComplete自动完成插件遇到的问题 使用该插件后,不能再绑定失去焦点事件,该插件有一个事件change即是在元素失去焦点后触发,平时使用时主要有三个要素:source,select,change;source是数据源,select是使用键盘方向键和回车键选择下拉列表中的某一项,change是当元素失去焦点后触发。 

10. Internal Server Error HTTP 500.19错误原因:

     解决方法,1. 到站点目录的属性,安全标签,添加用户(Everyone),并给修改权限: 

  2.重新注册AspNet  点击开始运行cmd 执行下面命令:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i

11.C#重载与重写的区别:

  重写是在继承时发生,子类中有一个方法名、参数列表和返回值类型与父类相同的方法完全相同时称之为方法重写。访问父类子类皆调用子类的重写方法。

  重载是在同一个作用域下发生,方法名相同,参数列表不同,注意:返回值类型不同是不能构成重载的。

  c#隐藏:基类方法不做申明(默认非虚方法),在派生类中使用new声明此方法的隐藏。方位父类调用父类的方法,访问子类调用子类的方法。

12.分享代码网址:http://www.jiathis.com/getcode

13.Js中有settimeout/setinterval 两个方法计时器 对应到sql server 中有两个与其相似的函数:waitfor delay/waitfor time

  等待一秒钟执行下面的select语句:waitfor delay '00:00:01' (时分秒格式 最大时间间隔是24个小时) select * from tb_user

  等到十一点十二分时执行下面的select语句:waitfor time '11:12:00' select * from tb_user

  参数 delay:指示一直等到指定的时间过去,最长可大24小时。time:指示等待到指定的时间,可以按datetime类型接受的格式指定time,不能指定日期。

14.win7系统桌面图标去掉箭头可能导致的问题:桌面-右击计算机-点击管理 弹出 与之相关程序未执行操作。解决办法:

  点击桌面左下角开始按钮在下面输入框输入regedit敲回车,打开注册表管理器,找到:HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Manage\command 把右侧默认值改为:mmc.exe %windir%\system32\compmgmt.msc 就ok了。

15.jquery多次绑定事件问题,害死人啊,解决办法是先取消绑定事件,在执行完操作后再次取消绑定(保险之间),这样就不会出现多次绑定事件的问题了。

16.分享一个好的网站:http://dl.oschina.net/

17.重新安装svn后,需要将原先的svn下的文件升级一下工作副本,但不会出现绿勾图标,重启电脑后,就可以了。

18.sql server 2008 sa帐号无法使用sql server 身份验证登录,解决办法是:使用安装sql server时的用户登录进去,数据库-安全性-登录名(sa)-状态选项卡-查看登录是否被禁用了,然后在右击服务器-属性-查看服务器身份验证是否是sql server 和windows 身份验证,不是则改一下,最后在重启sql server 服务就可以了登录了。

19. http://www.ip138.com/    查询ip和邮编的好网址

20.http://tool.chinaz.com/Tools/HtmlChar.aspx HTML中特殊符号对照表

21.天气预报SmartWeatherAPI接口key的加密算法:

    

HMAC hmac = HMACSHA1.Create();
string publicKey = System.Configuration.ConfigurationSettings.AppSettings["WeatherInfoAPI"]+"?areaid={0}&type={1}&date={2}&appid={3}";
//常规预报
string tempurl = string.Format(publicKey, cityCode, System.Configuration.ConfigurationSettings.AppSettings["WeatherType_f"], DateTime.Now.ToString("yyyyMMddHHmm"), System.Configuration.ConfigurationSettings.AppSettings["WeatherAppID"].Substring(0, 6));//appid截取前六位,这是规定
byte[] data = System.Text.Encoding.UTF8.GetBytes(string.Format(publicKey, cityCode, System.Configuration.ConfigurationSettings.AppSettings["WeatherType_f"], DateTime.Now.ToString("yyyyMMddHHmm"), System.Configuration.ConfigurationSettings.AppSettings["WeatherAppID"]));
//密钥
byte[] privatekey = System.Text.Encoding.UTF8.GetBytes(System.Configuration.ConfigurationSettings.AppSettings["WeatherPrivateKey"]);
hmac.Key = privatekey;

//对数据进行签名
byte[] signedData = hmac.ComputeHash(data);
tempurl = tempurl+ "&key=" + Convert.ToBase64String(signedData);

 Convert.ToBase64String(signedData)便是哈希算法加密后的值

22 C#后台访问一个url地址:

WebRequest wreq = WebRequest.Create(tempurl);
HttpWebResponse wresp = (HttpWebResponse)wreq.GetResponse();
string HTML = ""; //最终包含天气信息的字符串
Stream s = wresp.GetResponseStream();
StreamReader objReader = new StreamReader(s, System.Text.Encoding.UTF8);
HTML = objReader.ReadToEnd();

23.checkbox复选框元素不能使用jquery的toggle来判断是否选中,如果使用toggle,则复选框打勾则失效;form表单中如果有disabled属性的元素,其值在提交时不能被传输,提交不了该值。

 24. sql server中使用sql语句添加、删除列:

alter table 【表名】 add 【字段名】 字段类型 是否允许为空 default 默认值内容------添加列
alter table 【表名】 drop constraint 【约束名】
alter table 【表名】 drop column 【字段名】----注意了:删除该列之前要把该列的索引和约束先删掉,然后在删掉该列

数据库中的自定义数据类型,一旦被创建就不能修改了,若已创建且被引用则不能进行修改和删除操作,切记!!!!!!!!

25.js中自带的函数 eval()函数  可以把json字符串转换成json对象,例如:ar obj=eval('('+str+')'); 注意单引号引着的小括号

26.JS控制光标位置 存在兼容性问题,以下判断解决了兼容性问题

var setPos=function(o){
  if(o.setSelectionRange){//W3C
    o.setSelectionRange(o.value.length,o.value.length);
    o.focus();
  }else if(o.createTextRange){//IE
    var textRange=o.createTextRange();
    textRange.moveStart("character",o.value.length);
    textRange.moveEnd("character",0);
    textRange.select();
  }
};

 26. 巧用chrome浏览器开发工具查看压缩后的js文件,打开开发工具-选择source,找到那个js文件,这时左下角有一个“{}”图标,点击这个图标之后,就看到效果了。

27.

1、当form表单中只有一个<input type="text" name='name' />时按回车键将会自动将表单提交。

<form id='form1' action='a1.jsp' method='post'>
<input type='text' name='name' />
</form>

再添加一个<input type="text"/>按下回车将不会自动提交,但是页面上显示一个不知所云的输入框挺别扭,后从网上搜到两个解决办法:

  1;添加一个<input type='text' style='display:none'/>不显示输入框,然后回车之后也不会提交:

<form id='form1' action='a1.jsp' method='post'>
<input type='text' name='name' />
<input style='display:none' />
</form>

  2;添加一个onkeydown事件,然后回车之后也不会显示:

<form id='form1' action='a1.jsp' method='post'>
<input type='text' name='name' onkeydown='if(event.keyCode==13) return false;'/>
</form>

     3.<button></button>与<input type="button" />提交表单时的区别:在ie浏览器下<button></button>默认类型是button,但其他浏览器(包括w3c规范),默认的类型是submit,所以使用<button></button>时一定要指明type属性

 28.-webkit-appearance: none; ”来改变按钮在iPhone下的默认风格

29.C#中在格式化字符串(string.Format(string format,object parrameters))中转义大括号的转义符还是大括号本身 “{{”转换成“{”

30.IIS10 站点,在Chrome下访问,提示ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY 错误信息,解决办法: 修改注册表,disable掉Http2   

  1. Start → regeditEditor

  2. Navigate to the folder/path: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters

  3. Under the Parameters folder, right-click the white-space, add 2 new DWORD (32-bit) values:

    • EnableHttp2Tls

    • EnableHttp2Cleartext

  4. Ensure both new values have been set to 0(disabled) by right-clicking the value and clicking "Modify..."

  5. Restart the OS.

原文地址:https://www.cnblogs.com/dxmdiy/p/2891530.html