.net 学习笔记

一、获取二维数组的最低,最高下标,遍历数组的方法

GetUpperBound可以获取数组的最高下标。
GetLowerBound
可以获取数组的最低下标。
这样就可以实现对数组的遍历
//
定义二维数组
string[,] myStrArr2=new string[,]{{"
",""},{"围城","晨露"},{"毛毛熊","Snoopy"}};
for(int i=myStrArr2.GetLowerBound(0);i<=myStrArr2.GetUpperBound(0);i++)
{
for(int j=myStrArr2.GetLowerBound(1);j<=myStrArr2.GetUpperBound(1);j++)
{
//
处理每一个元素

Response.Write("<br>" + myStrArr2[i, j]);
}
}
0
表示二维数组的第一维,1表示数组的第二维

 

二、链接地址后加了很多%20%20%。。。

大家好,求大侠们帮个忙,我做了一个友情链接管理小系统,用datalist绑定数据,用hyperlink 显示网站名称
datalist

。。。。。
<asp:HyperLink ID="titles" runat="server"  Font-Size="12px"
    NavigateUrl=' <%# Eval("url")%>'> <%# DataBinder.Eval(Container.DataItem,"name") %> </asp:HyperLink>
。。。。。。】  下面是sql语句
。。。。。。。
string sql = "select name ,ltrim(url) as url,id from link where state='
已通过' order by id asc";
。。。。。。
但是运行之后:

深圳家教  深圳会计  口碑网  北大高管培训  中鹏培训网  深圳教育培训网  深圳本地宝  我要学IT  中三拼客网 

他们的链接后面全都加了%20%20%20%20%20%20%20%20%20%20%20%20%20%20
例如: 
http://www.soochn.com/%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%
这是怎么会使

 

解决:数据库中字段类型设置不当。由nchar改为varchar(50)即可。(50为长度,可自定义)

char varchar (Transact-SQL)

固定长度或可变长度的字符数据类型。

char [ ( n ) ]

固定长度,非 Unicode 字符数据,长度为 n 个字节。n 的取值范围为 1 8,000,存储大小是 n 个字节。char ISO 同义词为 character

varchar [ ( n | max ) ]

可变长度,非 Unicode 字符数据。n 的取值范围为 1 8,000max 指示最大存储大小是 2^31-1 个字节。存储大小是输入数据的实际长度加 2 个字节。所输入数据的长度可以为 0 个字符。varchar ISO 同义词为 char varying character varying

固定长度,非 Unicode 字符数据,长度为 n 个字节。n                备注

如果未在数据定义或变量声明语句中指定 n,则默认长度为 1。如果在使用 CAST CONVERT 函数时未指定 n,则默认长度为 30

将为使用 char varchar 的对象指派数据库的默认排序规则,除非使用 COLLATE 子句指派了特定的排序规则。该排序规则控制用于存储字符数据的代码页。

如果站点支持多语言,请考虑使用 Unicode nchar nvarchar 数据类型,以最大限度地消除字符转换问题。如果使用 char varchar,建议执行以下操作:

*                                                                                                                                                                                                                                                                         如果列数据项的大小一致,则使用 char

*                                                                                                                                                                                                                                                                         如果列数据项的大小差异相当大,则使用 varchar

*                                                                                                                                                                                                                                                                         如果列数据项大小相差很大,而且大小可能超过 8,000 字节,请使用 varchar(max)

当执行 CREATE TABLE ALTER TABLE 时,如果 SET ANSI_PADDING OFF,则定义为 NULL char 列将作为 varchar 处理。

当排序规则代码页使用双字节字符时,存储大小仍然为 n 个字节。根据字符串的不同,n 个字节的存储大小可能小于 n 个字符。

 

三,DataGrid-数据格式设置表达式

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://xiekeli.blogbus.com/logs/10004523.html

数据格式设置表达式

.NET Framework 格式设置表达式,它在数据显示在列中之前先应用于数据。
此表达式由可选静态文本和用以下格式表示的格式说明符组成:

{0:format specifier}

0 是参数索引,它指示列中要格式化的数据元素;因此,通常用零来指示第一个(且唯一的)元素。
format specifier
前面有一个冒号 (:),它由一个或多个字母组成,指示如何格式化数据。
可以使用的格式说明符取决于要格式化的数据类型:日期、数字或其他类型。

下表显示了不同数据类型的格式设置表达式的示例。有关格式设置表达式的更多信息,请参见格式化类型。 

格式设置表达式

应用于此数据类型

说明

Price: {0:C}

numeric/decimal

显示“Price:”,后跟以货币格式表示的数字。货币格式取决于通过 Page 指令或 Web.config 文件中的区域性属性指定的区域性设置。

{0:D4}

integer(不能和小数一起使用。)

在由零填充的四个字符宽的字段中显示整数。

{0:N2}%

numeric

显示精确到小数点后两位的数字,后跟“%”

{0:000.0}

numeric/decimal

四舍五入到小数点后一位的数字。不到三位的数字用零填充。

{0:D}

date/datetime

长日期格式(“Thursday, August 06, 1996”)。日期格式取决于页或 Web.config 文件的区域性设置。

{0:d}

date/datetime

短日期格式(“12/31/99”)。

{0:yy-MM-dd}

date/datetime

用数字的年-月-日表示的日期(96-08-06)。

ASP.NET设置数据格式应用示例:
       {0:d}     YY-MM-DD
       {0:p}    
百分比00.00%
       {0:N2}  12.68
       {0:N0}  13
       {0:c2}    $12.68
       {0:d}      3/23/2003       
       {0:T}     12:00:00 AM
       {0:
;;}

DataGrid数据格式的Format-- DataFormatString

DataFormatString="{0:格式字符串}"

如原来的数据为「12.34」,若格式设定为 {0:N1},则输出为「12.3

格式字符串 资料 结果
"{0:C}" 12345.6789  -> $12,345.68
"{0:C}" -12345.6789 -> ($12,345.68)
"{0:D}" 12345 12345
"{0:D8}" 12345 -> 00012345
"{0:E}" 12345.6789 -> 1234568E+004
"{0:E10}" 12345.6789 -> 1.2345678900E+004
"{0:F}" 12345.6789 -> 12345.68
"{0:F0}" 12345.6789 -> 12346
"{0:G}" 12345.6789 -> 12345.6789
"{0:G7}" 123456789 -> 1.234568E8
"{0:N}" 12345.6789 -> 12,345.68
"{0:N4}" 123456789 -> 123,456,789.0000
"Total: {0:C}" 12345.6789 -> Total: $12345.68

DateTime.Now.ToString("yyyy-MM-dd");//这种模式最好
aspx:
<asp:datagrid id="DataGrid1" runat="server" AutoGenerateColumns="False" Width="204px">
<Columns>
<asp:BoundColumn DataField="date" DataFormatString="{0:yyyy-MM-dd}"></asp:BoundColumn>

</asp:datagrid>

 

    在我们从业务逻辑层获得数据实体时候,接下来的事情就是要绑定到控件中。数据实体中的一些字段可以直接绑定到界面中,但是有一些字段需要重新格式化格式。比如货币单位字段,需要显示货币符号和每隔三位显示分隔符;再比如日期字段,数据库中存放的是日期和时间,但是在界面上需要按照XXXXXXXX日的格式显示。这时候我们就用到了DataFormatString属性。

<asp:GridView ID="grvResult" runat="server" AutoGenerateColumns="False" Width="100%">

    <Columns>

        <asp:BoundField HeaderText="预定日期" DataField="OperationDate" DataFormatString="{0:yyyy-MM-dd}" HtmlEncode="False">

        </asp:BoundField>     

        <asp:BoundField HeaderText="订单总计" DataField="TotalRate" DataFormatString="{0:C}" HtmlEncode="False">

        </asp:BoundField>

    </Columns>

</asp:GridView>

例如上面的代码展示了日期和货币两种绑定方式。DataFormatString中的{0}是固定的格式,这和String.Fromat(“{0}”, someString)中的{0}是一个用法,表示绑定上下文的参数索引编号。然后,在后面加入格式化字符串,具体的使用方法可以参考MSDN

这里需要注意以下几点
1. 
GridView中的asp:BoundField使用DataFormatString必须设置属性HtmlEncode="False",否则不起作用。
2. 
如果需要使用日期类型的格式化字符串,必须数据实体中对应的字段也应该日起类型的。
3. 
格式化字符串C代表货币单位,需要绑定的数据类型应该是数字类型的。如果是字符串类型的不起作用,需要手动添加格式化字符串为DataFormatString="{0:C}"

总结:
     GridView
中使用DataFromatString与在DataGrid中使用起来有些不同的!在GridView中的BoundField新增了HtmlEncode 属性,且默认是true,这就使得DataFromatString失效!

string.format格式结果


String.Format

 (C) Currency: . . . . . . . . ($123.00)

(D) Decimal:. . . . . . . . . -123

(E) Scientific: . . . . . . . -1.234500E+002

(F) Fixed point:. . . . . . . -123.45

(G) General:. . . . . . . . . -123

(N) Number: . . . . . . . . . -123.00

(P) Percent:. . . . . . . . . -12,345.00 %

(R) Round-trip: . . . . . . . -123.45

(X) Hexadecimal:. . . . . . . FFFFFF85

(d) Short date: . . . . . . . 6/26/2004

(D) Long date:. . . . . . . . Saturday, June 26, 2004

(t) Short time: . . . . . . . 8:11 PM

(T) Long time:. . . . . . . . 8:11:04 PM

(f) Full date/short time: . . Saturday, June 26, 2004 8:11 PM

(F) Full date/long time:. . . Saturday, June 26, 2004 8:11:04 PM

(g) General date/short time:. 6/26/2004 8:11 PM

(G) General date/long time: . 6/26/2004 8:11:04 PM

(M) Month:. . . . . . . . . . June 26

(R) RFC1123:. . . . . . . . . Sat, 26 Jun 2004 20:11:04 GMT

(s) Sortable: . . . . . . . . 2004-06-26T20:11:04

(u) Universal sortable: . . . 2004-06-26 20:11:04Z (invariant)

(U) Universal sortable: . . . Sunday, June 27, 2004 3:11:04 AM

(Y) Year: . . . . . . . . . . June, 2004

(G) General:. . . . . . . . . Green

(F) Flags:. . . . . . . . . . Green (flags or integer)

(D) Decimal number: . . . . . 3

(X) Hexadecimal:. . . . . . . 00000003

 

 

说明:
String.Format
将指定的 String 中的每个格式项替换为相应对象的值的文本等效项。

例子:

int iVisit = 100;
string szName = "Jackfled";
Response.Write(String.Format("
您的帐号是:{0} 。访问了 {1} .", szName, iVisit));

四,SQL主键设置

Id一般设置为:uniqueidentifier

uniqueidentifier 是唯一的!
是从他们的网卡上的标识数字和CPU时钟的唯一的数字生成新的UniqueIdentifier数据 ,这个数据和GUID是一样的每台计算机能生成全球唯一的值
这样在多台计算机和多网络之间生成具有唯一性的标识符

 

什么是uniqueidentifier

  Uniqqueidentifier 是全局唯一的标识

  二 UniqueIdentifier 数据类型的列如何赋值?

1 使用 NewID()函数 来实现

五,。NET中弹出WINDOWS警告窗口

Response.Write("<script language='javascript'> alert('留言成功!')</script>");

Response.Write("<script language='javascript'> alert('留言成功!');top.location='datalist.aspx';</script>");

//跳转到指定页面。

六、在数据绑定时对回复情况字段时行判断:

Eval("isreaply").ToString()=="False"? "还未回复" : Eval("reaply")

posted @ 2009-02-19 20:32  双鹏  阅读(254)  评论(0编辑  收藏  举报