luckylei66

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  22 随笔 :: 0 文章 :: 71 评论 :: 0 引用

公告

2012年3月10日 #

在使用ADO.NET POCO T4 模板为存储过程生成方法时,发现无法为没有返回值的存储过程添加方法。例如:spDeleteCustomer.sql

有以下两种解决方法:

1. 修改T4 模板:

 

View Code
        region.Begin("Function Imports");

        foreach (EdmFunction edmFunction in container.FunctionImports)
        {
            object returnParameter = edmFunction.ReturnParameter; // MG added 02-29-2012 - fix to handle no return type

            var parameters = FunctionImportParameter.Create(edmFunction.Parameters, code, ef);
            string paramList = String.Join("", parameters.Select(p => p.FunctionParameterType + " " + p.FunctionParameterName).ToArray());
            // MG modified 02-29-2012 - fix to handle no return type
            
//if (edmFunction.ReturnParameter == null)
            
//{
            
//    continue;
            
//}
            
//string returnTypeElement = code.Escape(ef.GetElementType(edmFunction.ReturnParameter.TypeUsage));

            
// MG added 02-29-2012 - fix to handle no return type
            string returnTypeElement = returnParameter == null ? string.Empty : code.Escape(ef.GetElementType(edmFunction.ReturnParameter.TypeUsage));
            string returnTypeString;
            string returnString;
            
            if(!string.IsNullOrEmpty(returnTypeElement)) {
                returnTypeString = string.Concat("ObjectResult<", returnTypeElement, ">");
                returnString = string.Concat("base.ExecuteFunction<", returnTypeElement, @">(""", edmFunction.Name, @"""", code.StringBefore("", String.Join("", parameters.Select(p => p.ExecuteParameterName).ToArray())), ");");
            } else {
                returnTypeString = "int";
                returnString = string.Concat(@"base.ExecuteFunction(""", edmFunction.Name, @"""", code.StringBefore("", String.Join("", parameters.Select(p => p.ExecuteParameterName).ToArray())), ");");
            }

// MG modified 02-29-2012 - fix to handle no return type. Updated return type in line below:
#>
    <#=Accessibility.ForMethod(edmFunction)#> <#=returnTypeString#> <#=code.Escape(edmFunction)#>(<#=paramList#>)
    {
<#
            foreach (var parameter in parameters)
            {
                if (!parameter.NeedsLocalVariable)
                {
                    continue;
                }
#>

        ObjectParameter <#=parameter.LocalVariableName#>;

        if (<#=parameter.IsNullableOfT ? parameter.FunctionParameterName + ".HasValue" : parameter.FunctionParameterName + " != null"#>)
        {
            <#=parameter.LocalVariableName#> = new ObjectParameter("<#=parameter.EsqlParameterName#>", <#=parameter.FunctionParameterName#>);
        }
        else
        {
            <#=parameter.LocalVariableName#> = new ObjectParameter("<#=parameter.EsqlParameterName#>"typeof(<#=parameter.RawClrTypeName#>));
        }
<#
            }
#>
        return <#=returnString#>
    }
<#
        }

        region.End();

 

2. 为存储过程添加返回值:

 

BEGIN         
    ...      
    SELECT @@ROWCOUNT 
END 

 

 

 

posted @ 2012-03-10 14:52 Leo.Wang 阅读(17) 评论(0) 编辑

2011年10月17日 #

ASP Codes:

Response.AddHeader "cache-control","no-store"  加上后FF起作用

' Forcing to refresh on browser's back button usage
Response.Buffer = True
Response.ExpiresAbsolute = Now() - 1
Response.Expires = 0
Response.CacheControl = "no-cache"
Response.AddHeader "Pragma""No-Cache"
Response.AddHeader "cache-control","no-store"

 

HTML Codes:

<html>
<HEAD>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
</HEAD>

 

posted @ 2011-10-17 15:40 Leo.Wang 阅读(183) 评论(0) 编辑

2011年9月28日 #

You can also use the test credit card number:

Test MasterCard Number for Verification and Validation : 5105105105105100

Test Visa Card Number for Verification and Validation:
4111111111111111

Test American Express Number for Verification:
378282246310005

Test Diner's Club Number for Verification and Validation:
38520000023237

Test Discover Card Number for Verification and Validation:
6011111111111117

Test JCB Card Number for Verification and Validation:
3530111333300000
posted @ 2011-09-28 21:55 Leo.Wang 阅读(8673) 评论(0) 编辑

2011年7月11日 #

客户端ip:
Request.ServerVariables.Get("Remote_Addr").ToString();
客户端主机名:
Request.ServerVariables.Get("Remote_Host").ToString();
客户端浏览器IE:
Request.Browser.Browser;
客户端浏览器 版本号:
Request.Browser.MajorVersion;//
客户端操作系统:
Request.Browser.Platform;

服务器ip:
Request.ServerVariables.Get("Local_Addr").ToString();
服务器名:
Request.ServerVariables.Get("Server_Name").ToString();

如果你想进一步了解ServerVariables,可以用
foreach(String o in Request.ServerVariables){
Response.Write(o+"="+Request.ServerVariables[o]+"<br>");
}


posted @ 2011-07-11 16:02 Leo.Wang 阅读(106) 评论(0) 编辑

2011年5月20日 #

<httpHandlers>
   <add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" />
</httpHandlers>

 

Win 7

<handlers>
   <add name="AjaxScriptHandlerFactory" verb="*" path="ajax/*.ashx" preCondition="integratedMode" type="Ajax.PageHandlerFactory, Ajax" />
</handlers>

posted @ 2011-05-20 08:00 Leo.Wang 阅读(22) 评论(0) 编辑

2011年5月19日 #

摘要: 转自:http://www.cnblogs.com/angells/archive/2010/02/21/1670565.html5.2 Ajax基础http://book.csdn.net/bookfiles/653/10065320712.shtml在 进行Ajax开发以前,我们必须先对一些基本的知识进行了解。虽然Ajax.NET已经将Ajax实现细节封装起来,并大大简化了我们的操作,但是了解基 本的Ajax实现方式对于帮助我们在开发中能更好理解和实施,以及更有效地优化和排错是至关重要的。此外,虽然我们不必编写具体的Ajax调用代理,但是 在调用代理前获取数据,以及返回数据后怎样使数据能够阅读全文
posted @ 2011-05-19 22:30 Leo.Wang 阅读(42) 评论(1) 编辑

2011年4月29日 #

摘要: 请使用迅雷或者电驴下载:ed2k://|file|cn_visual_studio_2010_ultimate_x86_dvd_532347.iso|2685982720|4ae6228933dde49d9bfa4c3467c831c2|/阅读全文
posted @ 2011-04-29 07:35 Leo.Wang 阅读(292) 评论(0) 编辑

2010年8月17日 #

摘要: 便于使用,特记于此:[代码]阅读全文
posted @ 2010-08-17 10:19 Leo.Wang 阅读(80) 评论(0) 编辑

2010年2月23日 #

摘要: 下面列出了一些可以帮助你改善CSS样式表的简单实用的方法,如果你刚刚开始使用CSS,这篇日志可以帮助你更好的理解CSS。 #1. 结构 保持CSS结构清晰,不仅有助于保持CSS文件的简单,也利于日后的检查、更改。 #2. 保持简洁 保持代码简洁,可以大幅减小CSS文件的大小。 #3. Padding vs. Margin 对于浏览器来说,Margin是兼容性最差的一个属性。因此,只要条件允许,应该...阅读全文
posted @ 2010-02-23 14:25 Leo.Wang 阅读(85) 评论(0) 编辑

摘要: 在FireFox浏览器中, 当页面元素增加或减少的时候, 页面会左右移动, CSS样式中添加如下代码可解决此问题: [代码]阅读全文
posted @ 2010-02-23 13:59 Leo.Wang 阅读(123) 评论(0) 编辑

仅列出标题  下一页