首页 > 代码库 > 曾经记录——asp.net中的点滴
曾经记录——asp.net中的点滴
“<%#....%>”这是数据绑定,里面可以调用C#的方法,比如在数据控件里执行绑定某个字段<%# Eval("Name")%>这样帮顶一个Name的字段。
“<%@...%>” 这个是页面指令,一般放在每个页面的最顶部,对页面的运行进行控制,如设置缓存,引用用户控件,导入命名空间。
“<%= ...%> ”这个=号后也可以调用C#的方法,还可以写数学表达式。 它和 <%#....%> 的区别是, <%#....%> 中的内容必须在后台代码中执行了DataBind()方法后才显示,如<%=DateTime.Now.ToString() %>。
<title><%= ConfigurationManager.AppSettings["ApplicationName"] %></title>
class="<%=ClassName%>" 后台页面.cs中的一个 string ClassName变量。
<%# ((DataRowView)Container.DataItem)["xxxx"] %>
<%# ((DataRowView)Container.DataItem).Row["Name"] %>效率最高
<%# DataBinder.Eval(Container.DataItem,"Name") %>
<%# Container.DataItem("Name") %>
<%# Eval("Name")%>
AttachDbFilename=|DataDirectory|\personnel.mdf; 数据库文件保存在App_Data特殊文件夹下----相对路径!~水晶报表。
CSS中 相对路径:background-image: url(images/Blue hills.jpg);
//如果转换失败,转换结果使用默认值0,否则将转换结果赋给对应的值
float v1 = 0;
float.TryParse(TextBox1.Text, out v1);
Page_Init:是在页面未加载之前,也就是在页面初始化之前,在Page_Load之前调用的,可以在控件加载之前做一些客户端检测呀这些操作等。但这个事件对于当前用户来说,只会进行一次,也就是第一次访问这个页面的时候,其运行一次。
Page_Load:在Page_Init之后运行(废话),用于加载控制以及页面的其它内容。客户端每刷新或是提交一次,Page_Load事件就重新绘制页面,将当前页面当新页面来处理。
if (PreviousPage != null) //PreviousPage 获取向当前页 传输控件的页。
TextBox TextBoxName = (TextBox)PreviousPage.FindControl("TextBoxName");
TimeSpan t = new TimeSpan(0, int.Parse(TextBoxTime.Text), 0); //时间隔。
ViewState["t"] = t;
<connectionStrings>
<add name="ConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\MyDatabase.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
应用于连接的标签: a:hover{text-decoration:undeline;}
a:link 设定正常状态下链接文字的样式;a:active设定鼠标单击时链接的外观;a:visited设定访问过的链接外观;a:hover设定鼠标放置在链接文字之上时文字的样式。
//时间处理。
txtFeedbacktime.Text = DateTime.Now.ToString("yyyy-MM-dd");
fb.feedbacktime = Convert.ToDateTime(this.txtFeedbacktime.Text);
fb.dealtime = System.Data.SqlTypes.SqlDateTime.MinValue;
全球唯一标识符 (GUID)是一个字母数字标识符;
System.Guid.NewGuid().ToString() 就是 实例化一个GUID 并且 转换为一个 字符串;
记住数据库的字段设置为char 或者varchar 38位的!
2、Guid.NewGuid().ToString("D") 结果为:
57d99d89-caab-482a-a0e9-a0a803eed3ba
3、Guid.NewGuid().ToString("B") 结果为:
{09f140d5-af72-44ba-a763-c861304b46f8} //可见默认的为第2种效果
4、GUID id=GUID.newGuid();
-------------
Guid主键/算法
--在SQLServer中生成guid的函数:newid() 在列数据属性中默认值设为newid();在查询中select newid();
// 栈-堆栈 !
栈 用于存储值类型;
堆栈 存储引用类型,都是在内存中 栈是实际的内存大小 堆栈只是代表相应的栈的内存地址 所以值类型也可以说栈的存取速度要快
wdkdby00037646@201
121644
委托&事件
private delegate string GetAString()//定义
GetAString firstStringMethod=new GetAString(X.ToString());//像类样 实例化、
firstStringMethod(); //调用委托类的方法
firstStringMethod.Invoke();//C#编译器调用的;与上等同;
<%@ Page language="c#" Codebehind="IndicatorDetail.aspx.cs" AutoEventWireup="false" Inherits="Lilosoft.PA.AnalyseStat.AnalyseStat.IndicatorDetail" %>
==============
C# —>EXCEl
--------------
添加引用 COM组件 Microsoft excel 11.0 ;为office2003
using Excel=Microsoft.Office.Interop.Excel;
Excel.Application elApp=new Excel.Application();
elApp.Visible = true;
Excel.Workbook elBook = elApp.Workbooks.Add(true);
Excel.Worksheet elSheet = (Excel.Worksheet)elBook.Worksheets[1];
elSheet.Cells[1][1] = "第一行,第一列";
-----------------
GC.Collect(); //强制进行垃圾回收
---------------
只有在 Web.config 文件中的 sessionstate 模式设置为 InProc 时,才会引发 Session_End 事件
***************
as ——运算符类似于强制转换操作,进行强制转换操作。但是,如果无法进行转换,则 as 返回 null 而" 非"引发异常.
is 检查对象是否与给定类型兼容,不进行强制转换操作。true/false
--------------
js 获取关闭浏览器的操作事件
function checkClose() {
if (event.clientX > document.body.clientWidth - 20 && event.clientY < 0 || event.altKey)
window.event.returnValue = http://www.mamicode.com/‘您确定退出表单设计器吗‘;
}
onbeforeunload="checkClose();"
--------------
Guid主键/算法
--在SQLServer中生成guid的函数:newid() 在列数据属性中默认值设为newid();在查询中select newid();
===============
用GridView的OnRowCommand="gridview_RowCommand"事件试试,这个应该可以
在TemplateField中加入CommandName和CommanArgument如以下方法:
<asp:LinkButton CommandName="SelectReport" CommandArgument=‘<%# Eval("ID") %>‘></asp:LinkButton>
在.cs文件中,代码类似如下:
protected void gridview_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "SelectReport")
{
string id = e.CommandArgument.ToString(); //这个就是你要取的当前行的ID
....//可能通过这个ID从GridView中查找你要的数据行。
}
}
*******************
GridView1.Rows[GridView1.EditIndex].Cells[6].Controls.Clear();
GridView1.Rows[GridView1.EditIndex].Cells[3].Controls.Add(商品分类);
Gridview1.Rows[GridView1.SelectedIndex].Cell[0].Text //取出值。
-------------------
GridView1.DataKeyNames = new string[] { "id" };//主键
string reviewID = this.GWList.DataKeys[e.Row.RowIndex][0].ToString();
--------------
string strName = HttpContext.Current.Request.QueryString["name"];
// QueryString可获得url中的参数
string strRes = "This is the response from the server:/r/n" + "Hello, " + strName + "!";
HttpContext.Current.Response.Clear();//清除缓冲区流中的所有内容输出。
HttpContext.Current.Response.Write(strRes); //将信息写入 HTTP 响应输出流。
HttpContext.Current.Response.Flush();//向客户端发送当前所有缓冲的输出。
HttpContext.Current.Response.End();将当前所有缓冲的输出发送到客户端,停止该页的执行,并引发 EndRequest 事件(停止请求)。
-------------
判断字段是否为空 !string.IsNullOrEmpty();
-------
PreInit 初始化那一刻
Init
InitComplete 完成初始化
PreLoad 加载到内存那一刻一刻
Load
LoadComplate 完成加载到内存
PreRender
PreRenderComplete 页面在浏览器中显示前一刻
Unload
-------
WebConfigurationManager类 ++++ machine.config/web.config
----------
Textbox1=(TextBox)PreviousPage.FindControl("Textbox1");//从上一个页获取控件.
-----
HtmlContainerControl类>>>
InnerHtml:包涵html元素的内容,InnerText:纯文本、
--------
lable控件的内容将显示在<span>标签中,而literal则直接显示内容。
--------
TextBox1.Focus();方法获取光标、
属性 AutoCompleteType 快捷地填充信息、
------
button 的causesValidation属性和commandName属性(oncommand事件 commandName属性)
Button 执行完客户端事件以后再执行服务器事件
------可以给客户端事件加一个bool返回值,如果返回false,服务器端不执行,如果返回true,客户端就执行。
<asp:Button ID="Button1" runat="server" Text="确定" OnClientClick="return validateMass();" OnClick="Button1_Click" />
---------
bulletedList控件的displayMode属性设置为LinkButton可以onclick事件
---------
hiddenField 控件的 valueChanged事件、
-----------
fileUpload 控件 HttpFileCollection uploadFiles=Request.Files;HttpPostedFile userPostedFile=uploadFiles[i];userPostedFile.SaveAs("\\"+system.IO.Path.GetFileName(userPostedFile.FileName));
-----------
Master页面在aspx内容页之后完成,所以aspx内容页需要在Page_LoadComplete事件中获取Master页面中的数据。
在Page_PreInit事件中动态指定Master页面:Page.MasterPageFile="~/MyMasterPage.master";
-----------
<link rel="icon" href="http://www.mamicode.com/sysImages/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="http://www.mamicode.com/sysImages/favicon.ico" type="image/x-icon" />
URL左边的图标
-------------
获取当前路径:string path = HttpContext.Current.Server.MapPath("~/xml/sys/netcms.config");
-------------
JavaScript控件获取光标:document.getElementById(‘TxtName‘).focus();
-------------
System.Web.HttpContext.Current.Response.Clear();
System.Web.HttpContext.Current.Response.Write("<html xmlns=\"http://www.w3.org/1999/xhtml\">\r<head>\r");
System.Web.HttpContext.Current.Response.End();
-------------
btnSayHello.Attributes.Add("OnClick", "return SetValue(" + input.ClientID + ");");
---------------
System.IO.DriveInfo-->System.IO.Directory/DirectoryInfo-->System.IO.File/FileInfo
------
System.IO.Path
---------------
动态加载用户控件
Control cl=LoadControl("~/WebUserControl.ascx");
myFrom.Controls.Add(cl);
--------------
例如: <allow users = “*”>
<deny users = “?”>
“*”代表所有的用户,“?”表示匿名(没经过身份验证的)用户。
----------------
在 C# 中引入断言使用 Debug.Assert() 方法, 如果一切假设都是正确的, 则代码会
顺利的进行.
//index should between 0 to 10
Debug.Assert((index >= 0) && (index <= 10), "Error", "index should between 0 to 10");
return (customers[index] == "James") ? true : false;
----------------
DataBinder.Eval(((RepeaterItem)Container.Parent).DataItem, "CategoryID")。
DataGridItem dgi = (DataGridItem)(((DropDownList)sender).Parent.Parent);
<asp:Repeater id="CategoryLevel2" runat="server" DataSource=‘<%# GetGlobalCategory(int.Parse(DataBinder.Eval(Container.DataItem, "CategoryID").ToString())) %>‘>
========
1Gbit/s=1000*1000bit/8bit/1024=122.0703125Mb/s