今年中秋

     今年中秋,也买了几块月饼;今年中秋,在网上看着央视的晚会,盼着天上的云飘走让我看一看月亮。

     也许到了离开家又要回家的时候,想家的感觉不一样了,听了几首老歌,几句动人的话竟然流下了眼泪。

      不知道自己的所学是否有辜负父母的期望,不知道明日自己的肩膀能否独自扛起未来。

      亲人、爱人、朋友,节日快乐!

就这么大四了

这似乎是一个期待已久的时刻,但它却来的如此平淡,在一片忙碌和忙乱中,它就这么到了。

      像往常一样开了一个开学的校会,只是人到得更加不齐。又开了一个保研的会,因为帮师妹做录像没有去,基本和我没有关系。

      做网站这是个耗体力的活,接连做上几天比做苦力还累,整天把自己关在屋子里,除了吃饭的时间,户外活动不会超过十分钟。今天终于憋不住了,到楼前走一走,就当是放风了。

      年级前二十五名可以申请保研,其他的要考或者不考,总之大家的前途就要由此再次转变了。我看不到多远的未来,只能一点一点做好手头的事,还好我一分一秒也没闲着,这是我唯一的安慰。要说我得到了什么,我不知道,至少目前看不出,也体会不到。

      忙起来还真就少了许多烦恼,因为没有时间去想那些,有点时间就想躺下,也许这就是我以前所体会不到的那种处境吧。

     我觉得自己不会一直这样下去,改变或许在某一刻到来。

使用DataSoure+Detailview控件完成部分自定义数据插入

不知道标题是否说明白了,举个例子,要发布一个留言,我拖一个DataSoure进来,配置好数据源以后再拖一个Detailview,把DefaultMode设置为Insert,但是我需要把留言时间的字段设置为当前时间而又不允许用户修改,还有用户Id也是这样,那么怎么做呢?

把Detailview中的相关字段的绑定去掉,然后打开CodeBehind文件,在DataSoure的Inserting事件中写入:

SqlDataSource1.InsertParameters.Item(“MMDate”).DefaultValue = Date.Now

……………………

如此即可。当然在数据库中定义时间字段默认值也可以。比如:getdate()

自定义ASP.NET的角色管理

尽管当初安装VS2005的时候没有一同安装SQLExpress版的数据库,在C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG下的machine.config文件中的<connectionStrings>依然为SQLExpress的连接字符串,所以,当我采用了SQL2005企业版的数据库来做角色管理的时候,连接出错。这时把这里的连接字符串改为目前连接的数据库连接字符串即可。

另外,在应用程序(网站)的根目录下的web.config文件中加入以下两部分内容(红色部分):

<connectionStrings>
    <add name=”MyConnectionString” connectionString=”Data Source=你的连接字符串;Integrated Security=True”
      providerName=”System.Data.SqlClient” />
    <add name=”SqlServices” connectionString=”你的连接字符串;Integrated Security=True” providerName=”System.Data.SqlClient” />
  </connectionStrings>

<roleManager enabled=”true” cacheRolesInCookie=”true” cookieName=”.ASPROLES”>
        <providers>
          <add connectionStringName=”SqlServices” applicationName=”MyApplication”
               name=”SqlProvider” type=”System.Web.Security.SqlRoleProvider” />
         
        </providers>
      </roleManager>

如此即可。

参考:

1。ASP.NET 2.0 中的新增服务、控件与功能概述

2。在ASP.NET 2.0中配置 AspNetSqlMembershipProvider(AspNetSqlProvider )

2。在ASP.NET 2.0中配置 AspNetSqlMembershipProvider(AspNetSqlProvider )

DataGrid的自动编号问题

序号 内容
1 Taye
2 BOx
3 Glass
4 StarCraf

一、正序

A、AllowPaging=False情况下

<asp:DataGrid id=”DataGrid1″ runat=”server”>
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<%# Container.ItemIndex + 1%>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>

就可以实现

不过更有趣的方法是使用这个方法

<asp:DataGrid id=”DataGrid1″ runat=”server”>
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<%# this.DataGrid1.Items.Count + 1%>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>

也许有些人会觉得很奇怪为什么Items.Count会这样,而不是出来全部总合..但如果你了解绑定的过程时就容易理解.
[从上面来看就是在ItemCreated事件中进行绑定所以得到的Items.Count刚好是当前的序号]

B、AllowPaging=”True”下

如果你DataGrid支持分页则可以如下

<asp:DataGrid id=”DataGrid1″ runat=”server” AllowPaging=”True”>
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<%# this.DataGrid1.CurrentPageIndex * this.DataGrid1.PageSize + Container.ItemIndex + 1%>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>

二、倒序的方法

序号 内容
4 Taye
3 BOx
2 Glass
1 StarCraft

由上面可以知道使用
this.DataGrid1.Items.Count – Container.ItemIndex + 1方法是不可能实现的,得到值而且全会为1
分页的情况下更是一样.所以一开始我们就要取得数据源的行数

.cs

private int rowscount = 0;
protected int RowsCount
{
get{ return rowscount;}
set{ this.rowscount = value; }
}

private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!IsPostBack)
this.BindData();
}

private void BindData()
{
SqlConnection cn = new SqlConnection(“server=(local);database=NorthWind;uid=sa;pwd=”);
string str=@”SELECT Employees.EmployeeID, Orders.EmployeeID
FROM Employees INNER JOIN
Orders ON Employees.EmployeeID = Orders.EmployeeID “;

SqlDataAdapter sqlda = new SqlDataAdapter(str,cn);
DataSet ds = new DataSet();

sqlda.Fill(ds);

this.RowsCount = ds.Tables[0].Rows.Count;

this.DataGrid1.DataSource = ds;
this.DataGrid1.DataBind();

}

.aspx

<asp:DataGrid id=”DataGrid1″ runat=”server” AllowPaging=”True”>
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<%# RowsCount – DataGrid1.CurrentPageIndex * DataGrid1.PageSize – Container.ItemIndex %>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>

当然如果是不是分页的情况一下更容易实现了.

转自:http://blog.csdn.net/mike1983/archive/2006/06/27/841725.aspx

续上篇

4.\App_GlobalResources Folder

资源文件(.resx) 是一个在你的应用程序中依据不同文化来改变页面内容的可以作为数据字典的字串表。除字串外,还可添加image等其它文件。
例如添加两个资源文件到此文件夹:
第一个资源文件是Resource.resx这是默认语言使用英语。
  Name     Value
  Answer     Hello there
  PageTitle    Sample Page
  Question    What is your name?
第二个资源文件是Resource.zh-cn.resx)使用中文。
  Name     Value
  Answer     你好
  PageTitle    示例页面
  Question     你的名字叫什么?

Listing 3-18: A simple ASP.NET page that uses resource files
VB

<%@ Page Language=”VB” Culture=Auto” UICulture=Auto” %>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.1//EN”
“http:
//www.w3.org/TR/xhtml11/DTD/xhtml11.dtd”>
<script runat=”server”>
Protected Sub Page_Load()Sub Page_Load(ByVal sender As Object, _
ByVal e As System.EventArgs)
Page.Title 
= Resources.Resource.PageTitle
End Sub

Protected Sub Button1_Click()Sub Button1_Click(ByVal sender As Object, _
ByVal e As System.EventArgs)
Label1.Text 
= Resources.Resource.Answer & “ “ & Textbox1.Text
End Sub

</script>
<html xmlns=”http://www.w3.org/1999/xhtml” >
<head id=”Head1” runat=”server”>
<title></title>
</head>
<body>
<form id=”Form1” runat=”server”>
<p><%= Resources.Resource.Question %></p><br />
<asp:TextBox ID=”Textbox1” Runat=”server”></asp:TextBox><br />
<asp:Button ID=”Button1” Runat=”server” Text=”Submit”
OnClick
=”Button1_Click” />
<p><asp:Label ID=”Label1” Runat=”server”></asp:Label></p>
</form>
</body>
</html>
c#

<%@ Page Language=”C#” Culture=”Auto” UICulture=”Auto” %>
<!DOCTYPE html PUBLIC “//W3C//DTD XHTML 1.1//EN”
“http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd”>
<script runat=”server”>
protected void Page_Load(object sender, System.EventArgs e)
{
Page.Title 
= Resources.Resource.PageTitle;
}

protected void Button1_Click(object sender, System.EventArgs e)
{
Label1.Text 
= Resources.Resource.Answer + “ “ + Textbox1.Text;
}

</script>

当这个程序运行时,会根据浏览器语言设定而选择使用不同的资源文件。如果语言设定为中文则会显示中文,否则为显示默认英文。

5.\App_LocalResources Folder
你也可以把资源文件添加到\App_LocalResources文件夹,只不过\App_GlobalResources文件夹是应用程序级别,而\App_LocalResources文件夹是页面级别。

6.\App_WebReferences Folder
你可以使用\App_WebReferences文件夹自动访在你的应用程序中引用的远程Web services。

7.\App_Browsers Folder
存贮在 \App_Browsers文件夹中的.browser文件,你也可以在\Windows\Microsoft.NET\Framework\v2.0xxxxx\
CONFIG\Browsers文件夹中看得到它,它主要是用来判断浏览器的兼容性的。

转自:http://www.cnblogs.com/zhhui/archive/2006/03/21/354545.html

Professional ASP.NET 2.0之应用程序文件夹-Application Folders

1.\App_Code Folder
  \App_Code文件夹是存贮classes,.wsdl文件和typed datasets的地方。你的解决方案中的所有页面可以自动访问存贮在这个文件夹的任何一个项目。如果这些项目是一个class (.vb or .cs),则Visual Studio 2005会自动检测并编译它;也会自动地创建源于.wsdl文件的XML Web service proxy class;或者一个源于.xsd文件的一个typed dataset。
  下面看一个在你解决方案中使用\App_Code文件夹的简单class的例子:
首先在\App_Code文件夹中建立一个Calculator.vb 或 Calculator.cs文件,如下所示:

Listing 3-14: The Calculator class
VB

Imports Microsoft.VisualBasic
Public Class CalculatorClass Calculator
Public Function Add()Function Add(ByVal a As IntegerByVal b As IntegerAs Integer
Return (a + b)
End Function

End Class
C#

using System;
public class Calculator
{
public int Add(int a, int b)
{
return (a + b);
}

}
其次是对这个class的使用,看下面的一个简单的.aspx文件:
Listing 3-15: An .aspx page that uses the Calculator class
VB

<%@ Page Language=”VB” %>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.1//EN”
“http:
//www.w3.org/TR/xhtml11/DTD/xhtml11.dtd”>
<script runat=”server”>
Protected Sub Page_Load()Sub Page_Load(ByVal sender As ObjectByVal e As System.EventArgs)
Dim myCalc As New Calculator
Label1.Text 
= myCalc.Add(1212)
End Sub

</script>
c#

<%@ Page Language=”C#” %>
<!DOCTYPE html PUBLIC “//W3C//DTD XHTML 1.1//EN”
“http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd”>
<script runat=”server”>
protected void Page_Load(object sender, System.EventArgs e)
{
Calculator myCalc 
= new Calculator();
Label1.Text 
= myCalc.Add(1212).ToString();
}

</script>
那么如何在\App_Code文件夹使用两个不同语言的class呢?
首先在\App_Code文件夹中添加两个子文件夹:一个 \VB 文件夹和一个 \CS 文件夹。
\App_Code
  \VB
    Add.vb
  \CS
    Subtract.cs
其次修改web.config文件如下:
Listing 3-17: Structuring the web.config file so that classes in the \App_Code folder can use different languages
<compilation>
  <codeSubDirectories>
    <add directoryName=”VB”></add>
    <add directoryName=”CS”></add>
  </codeSubDirectories>
</compilation>

2.\App_Data Folder
\App_Data文件夹是应用程序存贮数据的地方,可以包括Microsoft SQL Express 文件(.mdf files), Microsoft Access 文件(.mdb files), XML 文件等。

3.\App_Themes Folder

\App_Themes文件夹是存贮asp.net 2.0新特性主题需要使用的 .skin 文件, CSS文件和images文件的地方。