转自http://martinyang2010.bokee.com/2598999.html
using System;
using System.Data;
using System.Drawing;
using System.Data.SqlClient;
using Excel;
using Word;
using System.IO;
namespace Common
{
/// <summary>
/// 把数据导入到.doc、.txt、.xls文件中
/// </summary>
public class Export
{
private const string DATAWORDPATH = @"C:\folder\doc\datadoc\";
private const string IMAGEWORDPATH = @"C:\folder\doc\imagedoc\";
private const string IMAGEPATH = @"C:\folder\image\";
private const string EXCELPATH = @"C:\folder\excel\";
private const string TXTPATH = @"C:\folder\txt\";
private const string IMAGEPOSTFIX = ".bmp";
private const string WORDPOSTFIX = ".doc";
private const string EXCELPOSTFIX = ".xls";
private const string TXTPOSTFIX = ".txt";
private const int DATADISTANCE = 5;
private const int TABDISTANCE = 8;
public Export()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
/// <summary>
/// 获得数据集Da ......
ASP.NET MVC设计的主要原则之一是可扩展性。处理管线(processing pipeline)上的所有(或大多数)东西都是可替换的。因此,如果您不喜欢ASP.NET MVC所使用的约定(或缺乏某些约定),您可以创建自己的服务来支持您的约定,并将其注入到主管线中。
在本文中,我们将从管线开始直到视图呈现,逐一向您展示每个ASP.NET MVC开发者都必须了解13个扩展点。
1.ASP.NET MVC扩展之RouteConstraint
通常情况下你可以使用正则表达式对url参数进行约束,但如果您的约束不仅仅取决于单一参数,您可以实现 IRouteConstrains的方法,并在其中添加你的验证逻辑。
比如对日期的验证,url中可能会包含年、月、日,而你需要验证这三者是否可以组合成一个有效的日期。
2.ASP.NET MVC扩展之RouteHandler
RouteHandler是在路由选择之后进行处理的组件,它并不仅仅针对ASP.NET MVC。显然,如果您改变了RouteHandler,那么对请求的处理将不再使用ASP.NET MVC,但这在您使用其他HttpHandler或经典的WebForm进行路由处理时却是非常有用的。
3.ASP.NET MVC扩展之ControllerFactory
ControllerFactory是基于路由的组件,它选择正确的controller并对其实例化。 default factory会查找实现了IContro ......
代码下载:
围绕该 bush 击退停止:AJAX 是可能仅使用一个强的 JavaScript 引擎,可以在客户端浏览器中运行,并提供更高级和异步功能基础的。 JavaScript 库当前包含在 ASP.NET 3.5 SP 1 尝试是一个需要,但不足,将这样的库。 一个功能更强大的 ASP.NET AJAX 平台是必需的的并且它只是被引入了 ASP.NET AJAX 4.0 的一部分。
abstractly 说的 AJAX 基于前端是表示层与某些应用程序逻辑的实现组合丰富的 UI 功能。 应用程序逻辑是实质上是后面所有用例关系图中设计和分析阶段的代码。 应用程序逻辑表示应用程序和如何在用户希望与整个系统进行交互预期的的行为。
什么是 AJAX 前端在相当唯一至少与一个典型的网站或智能客户端前端,进行比较时是按需要与低级别编程的工具中混合使用丰富的用户体验的元素。 一个 AJAX 前端运行在客户端浏览器中,因为它可以依赖于只生成用户界面的 HTML 和仅以使特殊效果、 拖放、 异步的数据提取和部分更新视觉元素组成的 JavaScript。
若要满足期望,一个现代的和有效的 AJAX 平台必须提供两个重要的功能。 第一次,它必须启用开发人员将异步调用一个 HTTP 表面的特殊服务器模块。 第二个,它必须启用开发人员将其任何收到的原始 ......
代码下载:
围绕该 bush 击退停止:AJAX 是可能仅使用一个强的 JavaScript 引擎,可以在客户端浏览器中运行,并提供更高级和异步功能基础的。 JavaScript 库当前包含在 ASP.NET 3.5 SP 1 尝试是一个需要,但不足,将这样的库。 一个功能更强大的 ASP.NET AJAX 平台是必需的的并且它只是被引入了 ASP.NET AJAX 4.0 的一部分。
abstractly 说的 AJAX 基于前端是表示层与某些应用程序逻辑的实现组合丰富的 UI 功能。 应用程序逻辑是实质上是后面所有用例关系图中设计和分析阶段的代码。 应用程序逻辑表示应用程序和如何在用户希望与整个系统进行交互预期的的行为。
什么是 AJAX 前端在相当唯一至少与一个典型的网站或智能客户端前端,进行比较时是按需要与低级别编程的工具中混合使用丰富的用户体验的元素。 一个 AJAX 前端运行在客户端浏览器中,因为它可以依赖于只生成用户界面的 HTML 和仅以使特殊效果、 拖放、 异步的数据提取和部分更新视觉元素组成的 JavaScript。
若要满足期望,一个现代的和有效的 AJAX 平台必须提供两个重要的功能。 第一次,它必须启用开发人员将异步调用一个 HTTP 表面的特殊服务器模块。 第二个,它必须启用开发人员将其任何收到的原始 ......
c#(或vb.net)程序改进
1、使用值类型的ToString方法
在连接字符串时,经常使用"+"号直接将数字添加到字符串中。这种方法虽然简单,也可以得到正确结果,但是由于涉及到不同的数据类型,数字需要通过装箱操作转化为引用类型才可以添加到字符串中。但是装箱操作对性能影响较大,因为在进行这类处理时,将在托管堆中分配一个新的对象,原有的值复制到新创建的对象中。
使用值类型的ToString方法可以避免装箱操作,从而提高应用程序性能。
int num=1;
string str="go"+num.ToString();
2、运用StringBuilder类
String类对象是不可改变的,对于String对象的重新赋值在本质上是重新创建了一个String对象并将新值赋予该对象,其方法ToString对性能的提高并非很显著。
在处理字符串时,最好使用StringBuilder类,其.NET 命名空间是System.Text。该类并非创建新的对象,而是通过Append,Remove,Insert等方法直接对字符串进行操作,通过ToString方法返回操作结果。
其定义及操作语句如下所示:
int num;
System.Text.StringBuilder str = new System.Text.StringBuilder(); //创建字符串
str.Append(num.ToString()); //添加数值num
R ......
1,本地生成的文件向IIS公开的路径中复制,有时会发生安全错误,这是因为目标文件夹下,没有权限,可以考虑设置Everyone权限,但请谨慎使用。
2,Load页面的时候如果发生 “没有找到文件”这样的错误,就需要查看你写入前台的各个文件路径是否正确,包括图片,CSS文件,js文件等等。
3,ASP 在Load页面的过程,是先Load目标页面,再根据页面中设置的路径去依次取得各种文件。 ......
Asp.Net下载方法 参考
(1) 首先做成下载文件。
。。。 。。。
(2) 做成下载文件的路径以及文件名用session传递给打开页面
Session["FILE_PATH"] = 路径 + "DownLoadFile.txt";
Session["FILE_NAME"] = "DownLoadFile.txt";
(3) 打开新窗体(新窗体用于出力下载文件,窗体无需添加任何Html)
System.Web.UI.ScriptManager.RegisterStartupScript(Page,
this.GetType(),
"open",
"window.open('Download.aspx',null,'toolbar=0,location=no,directories=0," + "status=0,scrollbars=no,width=1px,height=1px');", true);
※注意 用于打开新窗体的按钮不要放到UpdatePannel控件中(或者 ......