69、
删除标识 默认的话 增加Selected="True"
<asp:RadioButtonList ID="DelFlgRBTNL" runat="server" RepeatColumns="3">
<asp:ListItem Value="0">未删除</asp:ListItem>
<asp:ListItem Value="1">删除</asp:ListItem>
</asp:RadioButtonList>
//获取表的行数据,根据值进行判断
string strDelFlg = this.ChartCharacterAddGv.Rows[nowRowNumber].Cells[2].Text;
if (strDelFlg != null && strDelFlg != "")
{
if(strDelFlg=="0")
{
//设定删除标识的值
DelFlgRBTNL.Items.FindByValue("0").Selected = true;
}
if (strDelFlg == "1")
{
//设定删除标识的值
DelFlgRBTNL.Items.FindByValue("1").Selected = true;
}
}
70、
C#控件名缩写规范
基本类型: 数据类型缩写
string str
int i
char chr
sbyte sb
byte bt
uint ui
long l
ulong ul
float f
double d
bool b
decimal dec
——————————————————————————————————————————
A、web控件 控件名缩写
AdRotator art
Button btn
Calendar cd
CheckBox chk
CheckBoxList chkl
CompareValidator cpv
CustomValidator ctv
DataGrid dg
DataList dl
DropDownList ddl
HyperLink hl
Image img
ImageButton Ibtn
Label lbl
ListBox lst
Panel pl
PlaceHolder ph
RadioButton rb
RadioButtonList rbl
RangeValidator rv
RegularExpressionValidator rev
Repeater rp
RequiredFieldValidator rfv
Table tb
TableCell tc
TableRow tr
TextBox txt
ValidationSummary vs
XML XML
——————————————————————————————————————————
B 、html控件 控件名缩写
HtmlAnchor hah
HtmlButton hbtn
HtmlForm hform
HtmlGenericControl hgc
HtmlImage himg
HtmlInputButton(按钮) htxt
HtmlInputButton(重置) hrbtn
HtmlInputButton(提交) hcbtn
HtmlInputCheckBox hick
HtmlInputFile hifile
HtmlInputHidden hihidden
HtmlInputImage hiimg
HtmlInputRadioButton hirb
HtmlInputText(密码) hpwd
HtmlInputText(文本) hitxt
HtmlSelect hslt
HtmlTable htab
HtmlTableCell htc
HtmlTableRow htr
HtmlTextArea htxta
C 、ADO.NET控件 命名规范 类型前缀示例
Connection con conNorthwind
Command cmd cmdReturnProducts
Parameter parm parmProductID
DataAdapter dad dadProducts
DataReader dtr dtrProducts
DataSet dst dstNorthWind
DataTable dtbl dtblProduct
DataRow drow drowRow98
DataColumn dcol dcolProductID
DataRelation drel drelMasterDetail
DataView dvw dvwFilteredProducts
71、WinForm Control 命名规范
数据类型 | 数据类型简写 | 标准命名举例 |
Label | lbl | lblMessage |
LinkLabel | llbl | llblToday |
Button | btn | btnSave |
TextBox | txt | txtName |
MainMenu | mmnu | mmnuFile |
CheckBox | chk | chkStock |
RadioButton | rbtn | rbtnSelected |
GroupBox | gbx | gbxMain |
PictureBox | pic | picImage |
Panel | pnl | pnlBody |
DataGrid | dgrd | dgrdView |
ListBox | lst | lstProducts |
CheckedListBox | clst | clstChecked |
ComboBox | cbo | cboMenu |
ListView | lvw | lvwBrowser |
TreeView | tvw | tvwType |
TabControl | tctl | tctlSelected |
DateTimePicker | dtp | dtpStartDate |
HscrollBar | hsb | hsbImage |
VscrollBar | vsb | vsbImage |
Timer | tmr | tmrCount |
ImageList | ilst | ilstImage |
ToolBar | tlb | tlbManage |
StatusBar | stb | stbFootPrint |
OpenFileDialog | odlg | odlgFile |
SaveFileDialog | sdlg | sdlgSave |
FoldBrowserDialog | fbdlg | fgdlgBrowser |
FontDialog | fdlg | fdlgFoot |
ColorDialog | cdlg | cdlgColor |
PrintDialog | pdlg | pdlgPrint |
72、
--获取excel的sheet表名
Aspx 页面:
<div>
<table width="100%">
<tr>
<td><asp:FileUpload ID="FileUpload1" runat="server" /></td>
</tr><tr>
<td><asp:ImageButton ID="SubmitFile" runat="server"
ImageUrl="~/button1.gif" OnClientClick="checkType()" οnclick="SubmitFile_Click" />
</td>
</tr>
<tr>
<td><asp:GridView ID="GridView1" runat="server">
</asp:GridView></td>
</tr>
</table>
</div>
后台 aspx.cs
//数据引用集
using System.Data.SqlClient;
using System.Data.OleDb;
using System.Data.Odbc;
using System.Collections.Generic;
/// <summary>
/// 获取excel的sheet名
/// </summary>
/// <param name="fiPath"></param>
protected void getSheetName(string fiPath)
{
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fiPath + ";"
+" Extended Properties='Excel 8.0;HDR=YES;IMEX=1'";
OleDbConnection objConn=new OleDbConnection(strConn);
List<string> SheetNameList = new List<string>();
objConn.Open();
DataTable dtExcelSchema = objConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" });
string SheetName = "";
for (int i = 0; i < dtExcelSchema.Rows.Count; i++)
{
SheetName = dtExcelSchema.Rows[i]["TABLE_Name"].ToString();
SheetNameList.Add(SheetName);
}
GridView1.DataSource = SheetNameList;
GridView1.DataBind();
}
protected void SubmitFile_Click(object sender, ImageClickEventArgs e)
{
//获取文件名
string FileName = this.FileUpload1.FileName.ToString();
//获取文件后缀名
string[] FileArray = FileName.Split('.');
//文件路径名称
string fiPath = FileUpload1.PostedFile.FileName;
getSheetName(fiPath);
}
73、
关于log日志文件的书写:
首先是对应的文件:logExample.aspx
其次是web.config配置
----------------</configSections>之后------------------------
<!--日志-->
<log4net>
<root></root>
<logger name="Test">
<level value="DEBUG"/>
<appender-ref ref="rollingFile"/>
</logger>
<appender name="rollingFile" type="log4net.Appender.RollingFileAppender,log4net">
<param name="File" type="" value="log/TLBB.txt"/>
<param name="AppendToFile" value="true"/>
<param name="RollingStyle" value="Date"/>
<param name="StaticLogFileName" value="false"/>
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n"/>
<param name="Header" value=" ----------------------header-------------------------- "/>
<param name="Footer" value=" ----------------------footer-------------------------- "/>
</layout>
</appender>
</log4net>
其三:执行文件
Global.asax
-----------------------------页面在引用时 要注意声明引用
Using log4net;
//定义日志对象
public static ILog log = LogManager.GetLogger("Test");
//记录操作
log.Info(clientUserName + "成功登陆系统");
log.Error(clientUserName + "在登陆系统时,出现数据库查询错误。错误详细信息为:" + sqle.Message);
74、
/********获取登录者IP***********/
//获取用户端真实IP
if (Request.ServerVariables["remote_addr"] != null)//发出请求的远程主机的IP地址
{
this.ipaddress = Request.ServerVariables["remoto_addr"].ToString();
}
else if (Request.ServerVariables["http_via"] != null)//判断是否设置代理,若使用了代理
{
if (Request.ServerVariables["http_x_forwarded_for"] != null)//获取代理服务器的IP
{
this.ipaddress = Request.ServerVariables["http_x_forward_for"].ToString();
}
else
{
this.ipaddress = Request.UserHostAddress;
}
}
else
{
this.ipaddress = Request.UserHostAddress;
}
log.Info("登录者IP为:" + ipaddress);
75、
/********************此方法需要返回值*********************/
#region
/// <summary>
/// 获取用户登陆IP
/// </summary>
/// <returns>返回用户IP</returns>
public static string GetIp()
{
string user_IP;
if (System.Web.HttpContext.Current.Request.ServerVariables["HTTP_VIA"] != null)
{
user_IP = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
}
else
{
user_IP = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();
}
return user_IP;
}
#endregion
/********************************当做方法调用,并用日志文件记录****************/
#region
/// <summary>
/// 获取用户登陆IP
/// </summary>
/// <param name="uname">用户名</param>
protected void GetIp(string uname)
{
string user_IP;
if (System.Web.HttpContext.Current.Request.ServerVariables["HTTP_VIA"] != null)
{
user_IP = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
}
else
{
user_IP = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();
}
//return user_IP;
//log.Info("登录者IP" + user_IP);
log.Info(uname + "登录IP为:"+user_IP);
}
76、
//设置文本框为灰色
StationID_Txt.ForeColor = System.Drawing.Color.GhostWhite;
77、
//限定文本框的输入内容,采用正则表达式:^[1-9]\d*$
<td align="left"><asp:TextBox ID="InstrumentNum_Txt" CssClass="Label" runat="server"></asp:TextBox>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ErrorMessage="必须为数字" ControlToValidate="InstrumentNum_Txt"
ValidationExpression="^[1-9]\d*{1}quot;></asp:RegularExpressionValidator></td>
78
//ListBox 自动向下滚动
//自动滚动
ReceiveLB.SelectedItem = ReceiveLB.Items[ReceiveLB.Items.Count - 1];
79、
C# .ini配置文件读写
/*********.cs文件****************/
using System;
using System.Text;
using System.IO;
using System.Runtime.InteropServices;
public class INIClass
{
public string inipath;
[DllImport("kernel32")]
private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
[DllImport("kernel32")]
private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);
/// <summary>
/// 构造方法
/// </summary>
/// <param name="INIPath">文件路径</param>
public INIClass(string INIPath)
{
inipath = INIPath;
}
/// <summary>
/// 写入INI文件
/// </summary>
/// <param name="Section">项目名称(如 [TypeName] )</param>
/// <param name="Key">键</param>
/// <param name="Value">值</param>
public void IniWriteValue(string Section, string Key, string Value)
{
WritePrivateProfileString(Section, Key, Value, this.inipath);
}
/// <summary>
/// 读出INI文件
/// </summary>
/// <param name="Section">项目名称(如 [TypeName] )</param>
/// <param name="Key">键</param>
public string IniReadValue(string Section, string Key)
{
StringBuilder temp = new StringBuilder(500);
int i = GetPrivateProfileString(Section, Key, "", temp, 500, this.inipath);
return temp.ToString();
}
/// <summary>
/// 验证文件是否存在
/// </summary>
/// <returns>布尔值</returns>
public bool ExistINIFile()
{
return File.Exists(inipath);
}
}
/**********引用*********/
using System.Runtime.InteropServices;
private void WriteTxt()
{
string path = "..\\..\\Configuration\\device.ini";
INIClass initxt = new INIClass(path);
//设备ID号、设备名、设备地址、数据存储文件名、添加时间、删除标识、备注
initxt.IniWriteValue("Device1", "ID", "1");
initxt.IniWriteValue("Device1", "Name", "设备一");
initxt.IniWriteValue("Device1", "Addr", "0x01");
initxt.IniWriteValue("Device1", "FileName", "Device01");
initxt.IniWriteValue("Device1", "AddTime", System.DateTime.Now.ToString());
initxt.IniWriteValue("Device1", "Delflg", "0");
initxt.IniWriteValue("Device1", "Remark", "");
}
/**************.ini文件显示如下(汉字为乱码)***********/
[Device1]
ID=1
Name=豸һ
Addr=0x01
FileName=Device01
AddTime=2010-11-3 11:03:44
Delflg=0
Remark=
80、
向datagrid添加新行(必须原来就存在行)
//DataGridViewRow dr = new DataGridViewRow();
//dr.Cells.Add(DeviceView.cells);
DeviceView.Rows.Add(new object[] {"ID","Name","Addr","FileName","AddTime","Delflg","Remark" });
//新增5行
DeviceView.Rows.Add(5);
for (int i =1; i < 5; i++)
{
for (int j = 0; j < 7; j++)
{
DeviceView.Rows[i-1].Cells[j].Value=deviceID[i,j+1];
}
}
//获取二维数组的行列
String[] Arr=new string[2,3];
//获取行
Int rowArr= Arr.GetLength(0);
//获取列
Int coulumnArr= Arr.GetLength(1);
81、
/***************************/可用 写文本时转换
using System;
using System.Text;
using System.Text.RegularExpressions;
using System.Globalization;
public class GB2312UnicodeConverter
{
/// <summary>
/// 汉字转换为Unicode编码
/// </summary>
/// <param name="str">要编码的汉字字符串</param>
/// <returns>Unicode编码的的字符串</returns>
public static string ToUnicode(string str)
{
byte[] bts = Encoding.Unicode.GetBytes(str);
string r = "";
for (int i = 0; i < bts.Length; i += 2) r += "\\u" + bts[i + 1].ToString("x").PadLeft(2, '0') + bts[i].ToString("x").PadLeft(2, '0');
return r;
}
/// <summary>
/// 将Unicode编码转换为汉字字符串
/// </summary>
/// <param name="str">Unicode编码字符串</param>
/// <returns>汉字字符串</returns>
public static string ToGB2312(string str)
{
string r = "";
MatchCollection mc = Regex.Matches(str, @"\\u([\w]{2})([\w]{2})", RegexOptions.Compiled | RegexOptions.IgnoreCase);
byte[] bts = new byte[2];
foreach(Match m in mc )
{
bts[0] = (byte)int.Parse(m.Groups[2].Value, NumberStyles.HexNumber);
bts[1] = (byte)int.Parse(m.Groups[1].Value, NumberStyles.HexNumber);
r += Encoding.Unicode.GetString(bts);
}
return r;
}
}
82、MSChart绘图
mschart设置网格线,坐标轴反向
2009-09-16 17:29
mschart设置网格线:ChartArea--Axes--MajorGrid
mschart坐标轴反向:ChartArea--Axes--Scale--IsReversed
using System.Web.UI.DataVisualization.Charting;
Chart1.ChartAreas["ChartArea1"].AxisY.Enabled = AxisEnabled.False; //不显示轴
Chart1.ChartAreas["ChartArea1"].AxisX.MajorGrid.Enabled = false; //不显示网格线
Chart1.ChartAreas["ChartArea1"].AxisX.MinorTickMark.Enabled = true;//显示刻度
Chart1.ChartAreas["ChartArea1"].AxisX.ArrowStyle = AxisArrowStyle.SharpTriangle;//显示箭头
83、写日志文件
写winform日志文件。
namespace DeviceInfo
{
public class WriteLog
{
#region
/// <summary>
/// 写日志文件
/// </summary>
/// <param name="str"></param>
public void ConnError(string str)
{
//如果是同一天的话,则打开文件在末尾写入。如果不是同一天,则创建文件写入文件
string filename = DateTime.Today.ToString("yyyyMMdd") + ".log";
//注意创建文件夹log,以及存放路径
string path = "..\\..\\log\\" + filename;
//判断是否存在文件
if (File.Exists(path))
{
//如果存在文件,则向文件添加日志
StreamWriter sw = new StreamWriter(path, true); sw.WriteLine("============================================================================")
sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ":");
sw.WriteLine(str);
sw.Close();
}
//如果文件不存在,则创建文件后向文件添加日志
StreamWriter sw2 = new StreamWriter(path, true); sw2.WriteLine("============================================================================");
sw2.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ":");
sw2.WriteLine(str);
sw2.Close();
}
#endregion
}
}
84、
显示柱形图数据
RTPowerChart.Series["Series1"].IsValueShownAsLabel = true;
条形 Mschart StackedBar
string sqlstr = "Select DeviceId,Hour(OpenTime) as OPTime,DateDiff('h',OpenTime,CloseTime) as CTime,"
+" 24-Hour(CloseTime) as ETime From DeviceInfo";
try
{
dt = mydb.SelectToDataTable(sqlstr);
chart2.DataSource = dt;
//图片标题
chart2.Titles.Clear();
chart2.Titles.Add("设备运行时间");
//X.Y轴数据显示间隔
chart2.ChartAreas["ChartArea1"].AxisY.Interval = 4; //X轴数据显示间隔
chart2.ChartAreas["ChartArea1"].AxisY.Maximum = 24;
chart2.ChartAreas["ChartArea1"].AxisY.Minimum = 0;
chart2.ChartAreas["ChartArea1"].AxisX.Interval = 1;
chart2.ChartAreas["ChartArea1"].AxisX.Maximum = 6;
//Y轴
chart2.Series["Series1"].Color = Color.Red;
chart2.Series["Series1"].YValueMembers = "OPTime";
chart2.Series["Series2"].Color = Color.Green;
chart2.Series["Series2"].YValueMembers = "CTime";
chart2.Series["Series3"].Color = Color.Red;
chart2.Series["Series3"].YValueMembers = "ETime";
chart2.Series["Series1"].XValueMember = "DeviceId";
chart2.Series["Series2"].XValueMember = "DeviceId";
chart2.Series["Series3"].XValueMember = "DeviceId";
//chart2.Series["Series1"].IsValueShownAsLabel = true;
chart2.DataBind();
85、
不同颜色: KagiChart.aspx
根据X值划分显示柱形图的颜色
#region
/// <summary>
/// 区分日用电颜色
/// </summary>
private void SetDayPowerColor(Chart ChartName)
{
foreach (DataPoint point in ChartName.Series["Series1"].Points)
{
if (point.XValue < 6 | point.XValue > 21)
{
point.Color = Color.FromArgb(128, 252, 180, 65); // Yellow
}
else
{
point.Color = Color.FromArgb(128, 0, 92, 219); // Blue
}
}
}
#endregion
//设置Pie各区颜色
foreach (Series s in PieTimeChart.Series)
{
s.Points[0].Color = Color.Red;
s.Points[1].Color = Color.Green;
s.Points[2].Color = Color.Red;
}
86、
Lable透明,与背景颜色同
//设置背景透明
label2.Parent = PieTimeChart;
label2.BackColor = Color.Transparent;
87、
绘制饼图
using System.Web.UI.DataVisualization.Charting;
...
private void Page_Load(object sender, System.EventArgs e)
{
// Populate series data
double[] yValues = {65.62, 75.54, 60.45, 34.73, 85.42};
string[] xValues = {"France", "Canada", "Germany", "USA", "Italy"};
Chart1.Series["Default"].Points.DataBindXY(xValues, yValues);
// Set Doughnut chart type
Chart1.Series["Default"].ChartType = SeriesChartType.Doughnut;
// Set labels style
Chart1.Series["Default"]["PieLabelStyle"] = "Outside";
// Set Doughnut radius percentage
Chart1.Series["Default"]["DoughnutRadius"] = "30";
// Explode data point with label "Italy"
Chart1.Series["Default"].Points[4]["Exploded"] = "true";
// Enable 3D
Chart1.ChartAreas["ChartArea1"].Area3DStyle.Enabled = true;
// Disable the Legend
Chart1.Legends[0].Enabled = false;
88、
VARIANT var;
m_Chart.GetPlot().GetAxis(1,var).GetValueScale().SetAuto(FALSE); // 不自动标注Y轴刻度
m_Chart.GetPlot().GetAxis(1,var).GetValueScale().SetMaximum(maxY); // Y轴最大刻度
m_Chart.GetPlot().GetAxis(1,var).GetValueScale().SetMinimum(0); // Y轴最小刻度
m_Chart.GetPlot().GetAxis(1,var).GetValueScale().SetMajorDivision(maxY/(maxY/10)); // Y轴刻度5等分
m_Chart.GetPlot().GetAxis(1,var).GetValueScale().SetMinorDivision(1); // 每刻度一个刻度线
m_Chart.GetPlot().GetAxis(1,var).GetAxisTitle().SetText( "分钟数 "); // Y轴名称
89、
颜色渐变
<td height="398px" style= "filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=1, StartColorStr= '#50000000 ', EndColorStr= '#8099FF33 ') ">
<td><td>
90、
线程间操作无效: 从不是创建控件“Vpv1Lbl”的线程访问它。(标签Label无法写)
AsyncTcpServer(DTU数据传输2011-1-20)
port.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived);
void port_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
string value = port.ReadExisting(); // 你接受到的值
//...
}
91、
网站页面设计基本尺寸
1、800*600下,网页宽度保持在778以内,就不会出现水平滚动条,高度则视版面和内容决定。
2、1024*768下,网页宽度保持在1002以内,就不会出现水平滚动条,高度则视版面和内决定。
3、在ps里面做网页可以在800*600状态下显示全屏,页面的下方又不会出现滑动条,尺寸为740*560左右
4、1024*768 下网页的尺寸:width=955,height=600
800*600 下网页的尺寸:width=760,height=420
一般分辨率在800*600的情况下,页面的显示尺寸为:780*428px;
分辨率在640*480的情况下,页面的显示尺寸为:620*311px;
分辨率在1024*768的情况下,页面的显示尺寸为:1007*600px
页面长度原则上不超过3屏,宽度不超过1屏
每个标准页面为A4幅面大小,即8.5*11英寸
全尺寸banner为468*60px,半尺寸banner为234*60px,小banner为88*31px
另外120*90,120*60也是小图标的标准尺寸
每个非首页静态页面含图片字节不超过60K,全尺寸banner不超过14K
标准网页广告尺寸规格:
一、120*120,这种广告规格适用于产品或新闻照片展示。
二、120*60,这种广告规格主要用于做LOGO使用。
三、120*90,主要应用于产品演示或大型LOGO。
四、125*125,这种规格适于表现照片效果的图像广告。
五、234*60,这种规格适用于框架或左右形式主页的广告链接。
六、392*72,主要用于有较多图片展示的广告条,用于页眉或页脚。
七、468*60,应用最为广泛的广告条尺寸,用于页眉或页脚。
八、88*31,主要用于网页链接,或网站小型LOGO。
广告形式 像素大小 最大尺寸 备注
BUTTON 120*60(必须用gif) 7K
215*50(必须用gif) 7K
通栏 760*100 25K 静态图片或减少运动效果
430*50 15K
超级通栏 760*100 to 760*200 共40K 静态图片或减少运动效果
巨幅广告 336*280 35K
585*120
竖边广告 130*300 25K
全屏广告 800*600 40K 必须为静态图片,FLASH格式
图文混排 各频道不同 15K
弹出窗口 400*300(尽量用gif) 40K
BANNER 468*60(尽量用gif) 18K
悬停按钮 80*80(必须用gif) 7K
流媒体 300*200(可做不规则形状但尺寸不能超过300*200) 30K 播放时间 小于5秒60帧(1秒/12帧)
网页中的广告尺寸:
1.首页右上,尺寸120*60
2.首页顶部通栏,尺寸468*60
3.首页顶部通栏,尺寸760*60
4.首页中部通栏,尺寸580*60
5.内页顶部通栏,尺寸468*60
6.内页顶部通栏,尺寸760*60
7.内页左上,尺寸150*60或300*300
8.下载地址页面,尺寸560*60或468*60
9.内页底部通栏,尺寸760*60
10.左漂浮,尺寸80*80或100*100
11.右漂浮,尺寸80*80或100*100
92、
asp.net让页面中显示时间
1.时间动态更新(电子表)--直接将下面的代码粘贴到.aspx中想要的位置
<script language="Javascript" type="text/javascript">
<!--
//以下是年月日星期显示
tmpDate=new Date();
date=tmpDate.getDate();
month=tmpDate.getMonth()+1;
year=tmpDate.getYear();
document.write("现在是:");
document.write(year);
document.write("年");
document.write(month);
document.write("月");
document.write(date);
document.write("日 ");
var tags_before_clock = ""
var tags_after_clock = ""
if(navigator.appName == "Netscape") {
document.write('<layer id="clock"></layer>');
}
if (navigator.appVersion.indexOf("MSIE") != -1){
document.write('<span id="clock"></span>');
}
function showclock()
{
var date = new Date();
var hour = date.getHours();
var min = date.getMinutes();
var sec = date.getSeconds();
var col = ":";
var spc = " ";
var apm;
if ( hour >12 )
{
apm="P.M.";
hour=hour-12;
}
else
{
apm="A.M.";
}
if (hour == 0) hour=12;
if (min<=9) min="0"+min;
if (sec<=9) sec="0"+sec;
if(navigator.appName == "Netscape")
{
document.clock.document.write(tags_before_clock
+hour+col+min+col+sec+spc+tags_after_clock);
document.clock.document.close();
}
if (navigator.appVersion.indexOf("MSIE") != -1)
{
clock.innerHTML = tags_before_clock+hour
+col+min+col+sec;
}
}
setInterval("showclock()",1000);
//-->
</script>
2.静态显示时间(时间不会自动更新,除非自己刷新页面)
this.Label1.Text = "你本次的登陆时间为:" + DateTime.Now.ToString();
93、
访问 IIS 元数据库失败。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
大意就是没有服务器上当前IIS进程没有访问元数据库的权限……我就纳闷儿了,.NET Framework2.0也装了呀,应该可以支持.net了呀?于是Google一下,发现有这种问题的还不止我一个,看了下,原因就是IIS和.net Framework2.0安装顺序反了,因为我先前曾经装过VisualStudio2005,所以系统里先安装了.net Framework2.0,而这样后来装过IIS后,.net Framework未注册相关组件,不能对IIS做出修改,就会出现这种情况!
解决方法:
到C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727中找,有个工具叫 aspnet_regiis.exe,运行方法如下:
1.开始-->运行-->输入cmd,运行
2.DOS窗口打开以后,在DOS窗口内进入上面的文件夹
3.输入 aspnet_regiis.exe -i -enable
经测试,一切OK!
ps:特别要注意安装顺序,先装IIS,然后装.net框架 :)
94、
运行ASP.NET 的进程帐户必须具有对IIS 元数据库(如IIS://servername ...
... 错误提示为:用于运行ASP.NET 的进程帐户必须具有对IIS 元数据库(如IIS://servername/W3SVC)的读访问权。问题是先安装.net2.0再安装IIS导致。
95、
<p align="left"><strong> MD5加密及验证</strong></p><p align="left"><a target=_blank href="http://www.cnblogs.com/wuhuacong/archive/2010/09/30/1839119.html">http://www.cnblogs.com/wuhuacong/archive/2010/09/30/1839119.html</a> </p><p align="left">MD5的加密处理应用还是比较多,由于破解难度很大,基本上大型网站或者软件商,密码加密一般采用这种方式居多。</p><p align="left">而MD5可以用来获得32、 16、8等全部部分内容加密内容,也可以获取其加密后的哈希值。</p><p align="left"> /// <summary></p><p align="left"> /// 获得32位的MD5加密
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public static string GetMD5_32(string input)
{
System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create();
byte[] data = md5.ComputeHash(System.Text.Encoding.Default.GetBytes(input));
StringBuilder sb = new StringBuilder();
for (int i = 0; i < data.Length; i++)
{
sb.Append(data[i].ToString("x2"));
}
return sb.ToString();
}
/// <summary>
/// 获得16位的MD5加密
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public static string GetMD5_16(string input)
{
return GetMD5_32(input).Substring(8, 16);
}
/// <summary>
/// 获得8位的MD5加密
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public static string GetMD5_8(string input)
{
return GetMD5_32(input).Substring(8, 8);
}
/// <summary>
/// 获得4位的MD5加密
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public static string GetMD5_4(string input)
{
return GetMD5_32(input).Substring(8, 4);
}
public static string MD5EncryptHash(String input)
{
MD5 md5 = new MD5CryptoServiceProvider();
//the GetBytes method returns byte array equavalent of a string
byte[] res = md5.ComputeHash(Encoding.Default.GetBytes(input), 0, input.Length);
char[] temp = new char[res.Length];
//copy to a char array which can be passed to a String constructor
Array.Copy(res, temp, res.Length);
//return the result as a string
return new String(temp);
}</p>