ASP.NET MVC RC2 已发布

ASP.NET MVC 的团队发布了 ASP.NET MVC 新版本,令人期待的并不是正式版,而是继续是正式版的候选版本 RC2。

您可以从以下地址进入到微软下载中心下载新版本:

http://www.microsoft.com/downloads/details.aspx?FamilyID=ee4b2e97-8a72-449a-82d2-2f720d421031&displaylang=en

以下是 Haacked 发布的对新版本的说明:

【原文地址】http://haacked.com/archive/2009/03/03/aspnetmvc-changes-for-rc2.aspx

Read More →

asp.net出错无法查看,百度提示误工!

可恶的百度,又深深地让我恶心了一把,NND,调试个程序,不能查看错误原因,爷爷的,在FIREFOX下正常,证明是IE的问题,肯定是装了百度的什么插件,控制面版里面又没有,我也从来不装这类插件,不知什么时候潜入我的电脑的,不爽!!!

下载了一个360搞定!

Read More →

ASP.NET页面状态管理——ViewState的使用

 ASP.NET ViewState设计目的是为了持久化当前页面中的对象的状态,以便下次在页面回发(Postback)后能够还原页面的状态。那么有两点需要注意:

  1. ViewState只在需要Postback的页面里才需要使用;
  2. 在1前提之下,只有初始状态值被修改了的对象才需要持久化,即才需要使用ViewState。

第1点比较清楚,来谈第2点。以简单的Label控件为例,先来看一下它的Text属性的实现:

public virtual string Text
{
    get
    {
        object obj2 = this.ViewState["Text"];
        if (obj2 != null)
        {
            return (string) obj2;
        }
        return string.Empty;
    }
    set
    {
        if (this.HasControls())
        {
            this.Controls.Clear();
        }
        this.ViewState["Text"] = value;
    }
}

Read More →

ASP.NET图片防盗链的方法

考试了,应该复习了,书看不进去哇~~~

空闲的时候想想自己的感兴趣的事情,想啊想就看到将要开始的一个项目,想到关于图片防盗的问题,这个东东,我觉得不是很难,大多数的网站都已经实现了,估计是在httpHandlers中实现的。

GOOGLE了一下,果然,代码很简单,原理我就不讲了,网上很多

在web.config的<system.web>配置节中加下如下代码

<httpHandlers>
      <add verb="*" path="*.jpg" type="ASPX2.jpg2, ASPX2"/>
</httpHandlers>

Read More →

Understanding Page Inheritance in ASP.NET 2.0

以前没有认真想过ASP.NET的页面模型到底是什么样的,光做简单的开发,没什么太大的意思,现在想深入研究一下,嘿嘿,档次不一样了吧。。。

我一直存在这样的疑问:

在ASP.NET中,Default2.aspx和Default2.aspx .cs是不是两个类?如果是的话,在这里我也称之为前台类和后台类

Default2.aspx .cs中,代码是这样的:

public partial class Default2 : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
 
    } 
}

Default2有partial 修饰,是不是说前台类和后台类是不是都是partial类?编译的时候会合成?

Read More →

ASP.NET 2.0中CSS失效解决方案

经常有人遇到ASP.NET 2.0(ASP.NET 1.x中可能是有效的)中CSS失效的问题,现将主要原因和解决方法罗列如下:

1、CSS文件路径不正确

这个问题属于Web开发中的基础问题,一般采用相对路径会出现这样的问题,或者样式文件写在了模板页里面,在内容页与模板页不在同一级目录下 时会出现这样的问题。此时你要清楚Web中相对路径的规则,如果你不清楚,可以采用绝对路径的写法试试就知道是不是路径的问题了。

2、CSS规则写法错误

这个问题谁也帮不你,只能自己学习CSS的相关知识了。

3、文件编码问题

Read More →

asp.net2.0导出pdf文件完美解决方案

关键是itextsharp.dll和ICSharpCode.SharpZipLib.dll两个文件

关键性代码: 

Document document = new Document();
PdfWriter.GetInstance(document, new FileStream(Server.MapPath("example.pdf"), FileMode.Create));
document.Open();
BaseFont bfChinese = 
    BaseFont.CreateFont("C:\\WINDOWS\\Fonts\\simsun.ttc,1", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
Font fontChinese = new Font(bfChinese, 12, Font.NORMAL, new Color(0, 0, 0));
document.Add(new Paragraph(this.TextBox1.Text.ToString(), fontChinese));
iTextSharp.text.Image jpeg = iTextSharp.text.Image.GetInstance(Server.MapPath("1.jpg"));
document.Add(jpeg);
PdfPTable table = new PdfPTable(datatable.Columns.Count);
for (int i = 0; i < datatable.Rows.Count; i++)
{
    for (int j = 0; j < datatable.Columns.Count; j++)
    {
        table.AddCell(new Phrase(datatable.Rows[i][j].ToString(), fontChinese));
    }
}
document.Add(table);
document.Close();

Read More →

当前标识(NT AUTHORITY\NETWORK SERVICE)没有对“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files”的写访问权限

当前标识(NT AUTHORITY\NETWORK SERVICE)没有对“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files”的写访问权限。说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Web.HttpException: 当前标识(NT AUTHORITY\NETWORK SERVICE)没有对“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files”的写访问权限解决方法:

运行:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -i -enable

系统会显示正在安装.net。稍后一切恢复正常。

Read More →

关于asp.net Session丢失问题的总结

asp中Session的工作原理:

asp的Session是具有进程依赖性的。ASP Session状态存于IIS的进程中,也就是inetinfo.exe这个程序。所以当inetinfo.exe进程崩溃时,这些信息也就丢失。另外,重起或者关闭IIS服务都会造成信息的丢失。

asp.net Session的实现

asp.net的Session是基于HttpModule技术做的,HttpModule可以在请求被处理之前,对请求进行状态控制,由于Session本身就是用来做状态维护的,因此用HttpModule做Session是再合适不过了。

原因1:

bin目录中的文件被改写,asp.net有一种机制,为了保证dll重新编译之后,系统正常运行,它会重新启动一次网站进程,这时就会导致Session丢失,所以如果有access数据库位于bin目录,或者有其他文件被系统改写

Read More →
Card image cap

ASP.NET MVC Preview 3 发布

ASP.NET MVC Preview 3已经发布,最新版本在ASP.NET 3.5运行时上提供了一个新的模型视图控制器(MVC)框架.这意味着开发者可以利用MVC方式设计各种Web应用.
新的 ASP.NET MVC 框架选项非常干净,而且容易使用.它将允许你在你的应用中很轻易地保持关注分离,而且有助于进行干净的测试和TDD.

下载:ASP.NET MVC Preview 3 

不了解什么是MVC,看这篇文章:http://www.minsblog.com/Notes/Article-534.html

Read More →

在ASP.NET中发邮件!

using System.Net.Mail; 

MailMessage mm = new MailMessage(emailfrom.Text, emailto.Text);

mm.Subject = subject.Text;
mm.Body = body.Text;
mm.IsBodyHtml = true;

SmtpClient sc = new SmtpClient();
sc.Send(mm);

上面是核心代码,在web.config里面须配置:

<pre class="brush: c#">
<system.net>
<mailsettings>
<smtp> <network host="smtp.qq.com" port="25" username="******@qq.com" password="****"></network> </smtp>
</mailsettings>
</system.net>

Read More →

关于ASP.NET中Request.QueryString的乱码问题

  今天在使用Request.QueryString的时候,发现所有接收到的字符串,只要是带中文的都会变成乱码。后来经过研究,终于找到了原因。

  ASP.NET默认使用的都是UTF-8编码,而大家一般使用的都是GB2312编码。这就是Request.QueryString时中文变成乱码的原因所在,也因为这样,才为大家带来了很多麻烦。

  下面我们来看两个参数:“test.aspx?string=%b7%e7%a4%ce%ca%c0%bd%e7”和“test.aspx?string=%e9%a3%8e%e3%81%ae%e4%b8%96%e7%95%8c ”。粗略一看,这是给test.aspx页面传递了两个不一样的参数,可是经过正确的URL反编码后,可以发现这两个其实是同一个参数:风の世界!为什么同一个参数会得到两个不一样的字符串呢?这是因为第一个参数是用GB2312的U

Read More →

ASP.NET程序员:轻松一点,胜人一筹

学习ASP.NET有一年多了,自我感觉都是些皮毛,但是足够用了,说够用,只是说现用的知识已经可以做一个象样的网站,表示层,业务逻辑层,还有数据访问层,条理清楚。。。

ASP,JSP,PHP有很多相同的地方,唯一让我觉得不爽的地方就是HTML语方和服务器脚本混在一起,对程序员来说,阅读起来不是很方便,但ASP.NET却不同,两者完全分开。。。这一点自我感学比较爽!

ASP.NET还有一个特点,可以在发布网站的时候编译成DLL动态链接库,版权所有,严禁转载!不过自己想看别人的代码的时候,就不是那么方便了。

ASP.NET有很多控件,使用方便,尤其是数据源控件,我最喜欢GRIDVIEW,实现同样的功能,ASP,PHP还有JSP可能要用3倍以上的代码量,效率不是那么的高。。

以前总有这样的一个想法:真正的程序员用C,聪明的程序用C++、JAVA,现在觉得C#也不错,当然.NET只是M

Read More →

关于ASP.NET中用Response.Write()方法响应导致页面字体变大的问题

比方说在页面里面有个LinkButton,要点击以后要打开新窗口,而且新窗口的URL是根据用户选择结果动态产生的。LinkButton的代码这样写:

protected void ServiceManHistoryButton_Click(object sender, EventArgs e)
{
 Response.Write("<script>window.open('xxx.html')");
}

 运行以后会发现,新窗口是打开了,但是原来页面的字体变大了,奇怪的问题!

有人想也不想就说是CSS没设置好,对这些人我很无语,求教的时候最怕遇到他们。

实际原因是直接Response.write输出脚本代码到顶部,打乱了文档模型,所以造成了这样的结果。

OK,解决方法有两个。

方法一:把Response.Write()语句替换为这个

Page.RegisterStartupScript("ServiceManHistoryButtonClick", "<script>window.open('xxx.html')");

这个方法用于在页响应中发出客户端脚本块,前一个参数是该Script在页面中的唯一名称(随便起,不重复就行),后一个是脚本内容。这个方法应该是微软官方推荐的方法。

方法二:在原程序的Response.Write()语句后再加一句

Response.Write("<script>document.location=document.location;</script>");

想出这个办法的人真高!

Read More →

ASP.NET读取Web.config中的自定义数据

从Web.config中读取自定义数据是经常用到的,比如读取数据库配置信息。下面就以读取数据库配置信息为例。

首先看如下代码

 程序代码

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

  <appSettings>

  <add key="AccessFile" value="DB/db.mdb"/>

  </ap

Read More →

ASP.NET 2.0中嵌套母版页的应用

之前写过母版页的使用,但那只是在一个页面使用了母版页。但实际中需要使用多个母版嵌套使用的情况,也就是父母版页中还要包含子母版页。

default.aspx

<%@ Page Language="VB" MasterPageFile="Child.Master"%>

<asp:Content id="Content1" ContentPlaceholderID="Content1" runat="server">

   <asp:Label runat="server" id="Label1"

&

Read More →

asp.net过程中引用js文件出错的解决办法

在.net中通过这种方式引用js文件

<script type="text/javascript" src="setday0.js"></script>

然后在页面中调用setday0.js文件中的方法往往会出错!但是你如果把setday0.js文件的内容直接放到该页面中来又一点问题也没有。这个问题困惑了我很久,在1.1的时候就遇到了当时没办法就在页面中重写js代码。今天才发现了这个问题的解决办法。

这个问题是由于.net中的text编码所引起的,我们需要把setday0.js文件保存为UTF-8或者其他Unicode编码方式,问题就迎刃而解。原来的文本编码为gb2312,因为其中有汉字。

如何进行编码转换?

  1. 记事本打开,保存的时候选择Unicode编码;
  2. 直接在vs中选择另存为,保存按钮右边有个小箭头,点一下,然后选择编码方式再保存就ok。

Read More →

ASP.NET 2.0站点登录、导航与权限管理

(一)登录

  asp.net 2.0中,新增了许多新的功能和控件。其中,新增的登陆控件可谓使得WEB应用的设计更加得心应手。什么是登陆控件呢?就是我们平常在WEB应用中经常要用到的用户注册,登陆,忘记密码,登陆后根据权限的不同而显示不同的页面等功能,现在在asp.net 2.0中都已经可以由提供的控件来实现了。

  asp.net 2.0中,为了更方便创建和管理用户,以及对 Web 应用程序中的页进行密码保护,引进了新的框架membership。新的框架包含用于处理身份验证和授权的新增功能,能够同时满足 Web 站点管理员和开发人员的需要。Web 站点管理员可以利用新的 Web 站点管理工具来创建新的用户和角色,以及控制对 Web 应用程序中页面的访问。Web 站点管理工具是一组预先编写的 ASP.NET页,不具备编程技巧的用户可以使用它们来配置 Web 应用程序。利

Read More →

asp.net2.0中gridview里嵌套dropdownlist

在asp.net 2.0中,在一个gridview里,可以嵌套进一个dropdownlist,这是十分容易的事情,而这里讲的是,
在每个dropdownlist里,都绑定的是不同的内容,比如在northwind数据库中,可以用GRIDVIEW显示出
每个category类别,同时每一行的category类别里可以已dropdonwlist下拉框的形式,列出该分类下的所有
产品.下面介绍实现的方法

首先是页面部分的代码

<asp:gridview id="GridView1" runat="server" autogeneratecolumns="False" onrowdatabound="GridView1_RowDataBound">
	<columns>
		<asp:boundfield datafield="CategoryID" headertext="CategoryID">
		</asp:boundfield>
		<asp:boundfield datafield="CategoryName" headertext="Category Name">
		</asp:boundfield>
		<asp:templatefield headertext="Products">
			<itemtemplate>
				<asp:dropdownlist id="DropDownList1" runat="server">
				</asp:dropdownlist>
			</itemtemplate>
		</asp:templatefield>
	</columns>
</asp:gridview>

Read More →

一般IIS运行不了ASP.NET,试一下下面四种方法,99%有效

我用的第一种,一下子就解决了啊。。。

1、.NET 安装的顺序应该是先装IIS,再装VS.NET,如果次序反了,或者IIS重装了,就需要使用aspnet_regiis.exe -i来重新安装IIS Mapping(主要用于aspx, asmx等文件的Extention的匹配)。在C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727目录下,运行下面的命令:aspnet_regiis.exe -i

2、重设ASPNET的密码,然后在下面的目录中找到Machine.config文件:%Systemroot%Microsoft.NET\Framework\v2.0.50727\CONFIG(Systemroot是你的安装目录),在 标识中添加/修改:userName和password3。如果还不行,重装IIS,然后再按照方法1进行操作4。如果你的机器是域控制器,你可以参考Q315158:ASP.NET Does Not Work withASPNET Account on Domain Controller:http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q315158&和你大致讲一下操作的步骤:

  1. 在Administrative Tools->Active Directory Users and Computers中建立一个名为ASPUSER的用户,将该用户添加到用户组中(默认情况下已在User Group中)
  2. 在Administrative Tools->Local Security Settings->Local Policy->UserRight Assignment中,双击右栏的Log on as a batch job项,在弹出的窗口中点击Add,选择或输入刚才建立的ASPUSER帐号,确定。(需要重启机器)
  3. 确保ASPUSER帐号有相应文件、目录的访问权限4。在下面的目录中找到Machine.config文件:%Systemroot%Microsoft.NETFrameworkv1.0.3705CONFIG (Systemroot是你的安装目录),在 标识中添加/修改:

userName="DomainNameASPUSER" password="ASPUSERpassword" 其中ASPUSERpassword是刚刚建立的ASPUSER的密码,DomainName是你的域名

  1. 最后把机器RESET一下!看看!应该OK了!

Read More →
Search
最新评论
推荐日志
微信扫一扫