小问题系列(2010-04)

  我还不能算是熟手,充其量半熟而已。在做项目的过程中,经常遇到各种小问题,有时候将问题解决之后,下次遇到时又忘记了解决的方法。哎,年纪大了,记性不好了。俗话说,好记性不如烂笔头,何况我这等坏记性呢?所以,还是把每次遇到的问题和解决的方法都记录下来吧,以便日后查找,也拿出来和大家分享。:)

  问题一(04.07):在js中如何判断字符串是否以“xxx”开头?C#中有StartWith()方法,js却没有。

  解决:在网上找到了startWith和endWith的js方法。(原文链接

ContractedBlock.gif ExpandedBlockStart.gif js代码
 
   
1 < SCRIPT type = " text/javascript " language = " JavaScript " >
2   function test(){
3    var a = " abcdef " .startWith( " abc " );
4   alert( " a : " + a);
5    var b = " abcdef " .endWith( " def " );
6    alert( " b : " + b);
7 }
8 String.prototype.endWith = function (str){
9      if (str == null || str == "" || this .length == 0 || str.length > this .length)
10    return false ;
11      if ( this .substring( this .length - str.length) == str)
12    return true ;
13      else
14    return false ;
15    return true ;
16 }
17
18 String.prototype.startWith = function (str){
19    if (str == null || str == "" || this .length == 0 || str.length > this .length)
20    return false ;
21    if ( this .substr( 0 ,str.length) == str)
22    return true ;
23    else
24    return false ;
25    return true ;
26 }

27 < / SCRIPT>

  

  问题二(04.16) :添加、编辑数据,linq语句提交时,出现“找不到行或行已更改”的错误。

  解决:同样是在网上找到了解决方法,说是因为发生了“Linq中一个常见的问题:更新冲突”。(原文链接)具体解决如下:

  1.如果不是重要的数据,不需要理会并发重突,有一种简单的方法:打开dbml (linq)文件把实体类中的 属性 "Update check(更新检查)" 改为 Never(从不),当然,主键除外。

  2.比较简单的方法,不使用Linq提供的SubmitChanges()方式提交更改,而直接执行SQL语句,例如:
     db.ExecuteCommand("Update [dbo].[LinqTest] SET Age=25 Where ID = @p0", 1);
  3.采用Linq提供的解决更新冲突的方法,在异常中捕获冲突,然后手动解决冲突:  

  try
  {
      dc.SubmitChanges(System.Data.Linq.ConflictMode.ContinueOnConflict);
  }
  catch (System.Data.Linq.ChangeConflictException ex)
  {

       DC.ChangeConflicts.ResolveAll(RefreshMode.KeepCurrentValues);  //保持当前的值

       DC.ChangeConflicts.ResolveAll( RefreshMode.OverwriteCurrentValues);//保持原来的更新,放弃了当前的值.
       DC.ChangeConflicts.ResolveAll(RefreshMode.KeepChanges);//保存原来的值 有冲突的话保存当前版本
       db.SubmitChanges();// 注意:解决完冲突后还得 SubmitChanges() 一次,不然一样是没有更新到数据库的
  }

 

  问题三(04.28):客户要求做个网上预约服务的功能,提交表单的时候,选择“网上预约”方式还是“邮箱预约”方式,“网上预约”就提交表单到后台,“邮箱预约”就发送表单内容到客户的邮箱。以前没做过用代码来发送邮件的程序,虽然当初学的时候学习了,但这么久下来,早就忘记了。于是上园子里搜了搜,立马就搜到一个蛮好的文章,呵呵,先在这里谢谢博主(小小书童)了。(原文链接

转载于:https://www.cnblogs.com/guqiao/archive/2010/04/07/project-problem-1.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值