using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
namespace SilverlightApplication2
{
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
}
private void button1_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show("HelloWorld");
}
}
}
......
方法一、在Web.config中配置,具体做法为:在Web.config文件的System.web节中添加如下代码
1<pages>
2 <controls>
3 <add assembly="ServerControl" namespace="ServerControl" tagPrefix="sc"/>
4 </controls>
5</pages>
说明:assembly表示控件所在的程序集名称,namespace表示控件的命名空间,tagPrefix就是我们所要设置的项了
方法二、在使用该控件的页面添加<%Register%>指令,如下
<%@ Register assembly="ServerControl" namespace="ServerControl" tagprefix="sc" %>
说明:assembly表示控件所在的程序集名称,namespace表示控件的命名空间,tagPrefix就是我们所要设置的项了
方法三、通过装饰Attribute来指定tagPrefix,例如在控件类添加如下Attribute
[assembly: TagPrefix("ServerControl", "scsc")]
namespace ServerControl
{
[ToolboxData("<{0}:EmailInput runat=server></{0}:EmailInput>")]
public class EmailInput : CompositeControl
{
说明:即使这样定义了,每个页面也都要添加<%Register%>指令,这样只是提供了统一的tagPrefix,实质上还是第二种方法
......
1.尽量使用Html静态页面。aspx在数据交互方面有很好的的交互能力,但是也会消耗一定的服务器资源,所以我们尽量用纯html的页去实现。最重要的CMS的应用
2.避免不必要的回送操作,每次单击页面按钮都要加载Page_Load事件,用Page.IsPostBack避免不必要的加载
3.尽量在客户端进行验证操作,通过js进行实现
4.优先使用Html控件,而不是服务器控件
5.关闭不必要的session状态,因为session保存在服务器端的,也将要耗费一定的服务器资源
<%@ Page EnableSessionState="false"%>
6.关闭不必要的ViewState,这个我会详细的写
7.禁用调试模式<compilation debeg="false"> ......
页面中引入:
using System.Net;
using System.IO;
下面两个方法,结果都是一样,都可以下载网站上的图片;
private void Sava1()
{
string url = "http://192.234.86.15/Maplink//05/000/000/013/000/000/006.png";
WebRequest wreq = WebRequest.Create(url);
HttpWebResponse wresp = (HttpWebResponse)wreq.GetResponse();
Stream s = wresp.GetResponseStream();
System.Drawing.Image img;
img = System.Drawing.Image.fromStream(s);
img.Save("E:\\000.png", System.Drawing.Imaging.ImageFormat.Png);
MemoryStream ms = new MemoryStream();
img.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
img.Dispose();
Response.ClearContent();
Response.ContentType = "image/png";
Response.BinaryWrite(ms.ToArray());
}
private void Sava2()
{
string url2 = "http://219.234.86.15/Maplink//03/000/000/004/000/000/002.png";
WebClient my ......
http://www.cnblogs.com/jinglelin/archive/2005/09/02/228486.html
涉及到asp.net操作word的问题
今年陆续又碰到操作excel、word等office文档
使用的都是Interop相关dll,打开office相关进程进行操作
为免忘记,将相关tip整理如下:
1. 引用文件,几个dll打包了
2. 操作word代码示例:
using ImportExportToOffice;
using Microsoft.ApplicationBlocks.Data;
protected void btnJianJie_Click(object sender, EventArgs e)
{
string sYear = DropDownList2.SelectedValue;
string sMonth = DropDownList1.SelectedValue;
string sDate1 = String.Format("{0}-{1}-{2}", sYear, sMonth, "1");
string sDate2 = String.Format("{0}-{1}-{2}", sYear, sMonth, System.DateTime.DaysInMonth(int.Parse(sYear), int.Parse(sMonth)).ToString());
word = new ImportExportToWord();
string sTmpUrl = "../Report/" + Guid.NewGuid().ToString() + ".Doc";
string sTmpFile = Server.MapPath(sTmpUrl);
string sModelDoc = Server.MapPath("../Report/国际漫游简报模板.doc");
......
本文将讨论.NET的应用程序域,并且它们是如何对ASP.NET的执行和调度产生影响的。
当在Windows中启动Notepad程序时,众所周知程序会执行一个包含在容器内的进程。可以启动多个Notepad的实例,并且每个实例都会在一个专注的进行程运行。使用任务管理器,可以看到在系统中当前运行的所有进程的清单。
一个进程包括可执行从操作系统中保留的在内存中的代码和程序数据。在进程之内只少有一个包含在进程之内的正在执行指令的线程,并且在多数情况下有多个线程。如果程序打开了任何文件或者资源,这些资源将属于这个进程。
一个进程也有一个分界线。包含在进程之内的错误代码不能在当前进程之外的地区腐化。在一个进程之内很容易通讯,但是专业技术要求一个进程对另一个进程通讯是必需的。每一个进程也在一个特殊的上下文安全系统中运行,这个安全系统规定在机器和网络中进程做什么。
一个进程是一个在Windows 操作系统中独立运行的最小单位。这会给在一个单一服务器上对一大堆应用程序的ISP提出一个问题。ISP将会 ......