1、给删除按钮添加是否确认提示:
前台方法:OnClientClick="return window.confirm('你确定要删除吗?')"
后台方法:btnDelete.Attributes.Add("onclick", "return confirm('您确定要删除吗?');");
2、DataSet中取值:
lblTitle.Text = ds.Tables[0].Rows[0]["Title"].ToString();
3、字符串截取方法:
public string StringFormat(int len, string str)
{
return (str.Length > len) ? str.Substring(0, len) + " ..." : str;
}
4、GridView事件中获取GridView中的控件:
LinkButton lbtnManager = e.Row.FindControl("lbtnManager") as LinkButton;
5、获取GridView的DataKeyNames中主键的ID值:
int id = Convert.ToInt32((sender as GridView).DataKeys[e.Row.RowIndex].Value.ToString());
6、ViewState的应用:
[网站前台,尽量禁用ViewState;当然也最好不要使用PostBack]
public string vsEName
{
get
{
if (EnableViewState)
{
object obj = ViewState["eName"];
if (obj != null)
return (string)obj;
else
return string.Empty;
}
else
return string.Empty;
}
set
{
if (EnableViewState)
ViewState["eName"] = value;
}
}
7、Gridview分页页码突出显示:
protected void gvEquipment_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Pager)
{
TableRow row = e.Row.Controls[0].Controls[0].Controls[0] as TableRow;
foreach (TableCell cell in row.Cells)
{
System.Web.UI.Control lb = cell.Controls[0];
if (lb is Label)
{
((Label)lb).ForeColor = System.Drawing.Color.Red;
((Label)lb).Font.Size = new FontUnit("12px");
}
else if (lb is LinkButton)
{
((LinkButton)lb).Text = "[" + ((LinkButton)lb).Text + "]";
}
}
}
}
8、链接打开模式窗口
页面:
<script language="javascript" type="text/javascript">
function orberopen(href)
{
window.open(href,'','width=580,height=515,top=10,left=20,scrollbars=yes,resizable=yes');
}
</script>
后台绑定:
litDescription.Text = "<a href='#' title='查看详情' class='afont' onclick=/"orberopen('" + aLinkURL + "')/">" + desc + "</a>";
9、替换字符串里的单引号:
public static string ReplaceString(string theValue)
{
if (theValue != null) theValue = theValue.Replace("'", "''");
return theValue;
}
10、VS2005显示行号:
后台代码:工具→选项→文本编辑器→C#→显示→(选上)行号
HTML前台:工具→选项→文本编辑器→HTML→(选上)行号
11、GridView中的RowDataBound 事情对数据列的处理
protected void gridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
}
}
12、C#读取记事本文件
protected void GetVistorCount()
{
try
{
string path = @Server.MapPath("App_Data/VisitorCount.txt");
string text = System.IO.File.ReadAllText(path);
int number = Convert.ToInt32(text);
new FileInfo(path).Attributes = FileAttributes.Normal;
System.IO.File.WriteAllText(path,Convert.ToString(number+1));
labVisitor.Text = number.ToString();
}catch( Exception e)
{
}
}
13、使用LinkButton实现点击下载文件
1.页面代码:
<asp:LinkButton ID="lbtnAttachName" runat="server" OnClick="lbtnAttachName_Click"></asp:LinkButton>
后台代码:
protected void lbtnAttachName_Click(object sender, EventArgs e)
{
string url = "~/FileDown.aspx?fileName=" + lbtnAttachName.Text.Trim() + "&filePath=~/uploadfile/ArticleAttach/";
Response.Redirect(url);
}
2.时间里跳到一个页面里面的方法为:
try
{
string fileName = Request.QueryString["fileName"];
string filePath = Request.QueryString["filePath"];
string File_address = Server.MapPath(filePath) + fileName;
if (!File.Exists(File_address))
{
ClientScript.RegisterStartupScript(this.GetType(), "", "alert('文件不存在,下载失败!'); history.back(); ", true);
return;
}
Response.Buffer = true;
string contentType = "application/octet-stream";
//输出流
Response.Clear();
Response.AppendHeader("Content-Disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
Response.Charset = "UTF-8"; // 客户端浏览器的字符集UTF-8.注意在IE--Internet选项--高级里,选中:始终用UTF-8发送URL链接
Response.ContentType = contentType;
using (FileStream fs = File.OpenRead(File_address))
{
string strFileSize = fs.Length.ToString();
Response.AppendHeader("Content-Length", strFileSize);
byte[] b = new byte[1024];
while (fs.Read(b, 0, b.Length) > 0)
{
Response.BinaryWrite(b);
}
Response.Flush();
fs.Close();
Response.End();
}
}
catch (Exception ex)
{
}
14、c#使用正则表达式验证网络地址URL
public bool ValidateUrl(string _strUrl)
{
string patten = @"^http://(www/.){0,1}.+/.(com|net|cn)$"; //正则表达式
Regex r = new Regex(patten); //声明一个Regex对象
Match m = r.Match(_strUrl); //使用Match方法进行匹配
if (m.Success) //匹配成功
{
return true;
}
else
{
return false;
}
}
15、页面弹出提示信息
普通页面:
ClientScript.RegisterStartupScript(this.GetType(), "", "alert('文件不存在,下载失败!'); history.back() ", true);
用户控件使用:
Page.ClientScript.RegisterStartupScript(this.GetType(), "", "alert('请选择完成时间!');", true);
其他方式:
ClientScriptManager cs = this.ClientScript;
cs.RegisterArrayDeclaration("Hello", "1, 2, 3");
cs.RegisterClientScriptBlock(this.GetType(), "HelloWorld",
"function helloWorld(){alert('RegisterClientScriptBloc_Test');}", true);
cs.RegisterClientScriptInclude("HelloWorld", "HelloWorld.js");
// cs.RegisterClientScriptResource();
cs.RegisterExpandoAttribute(this.Button1.ClientID, "Hello", "World");
cs.RegisterHiddenField("hello", "world");
cs.RegisterOnSubmitStatement(this.GetType(), "HelloWorld", "return window.confirm('Do you really want to submit the form?')");
cs.RegisterStartupScript(this.GetType(), "HelloWorld", "<script>alert('The page has loaded!')</script>");
16、判断两个时间比较大小
string startDate ='2009-8-14 10:16:55';
string endDate = '2009-8-14 10:17:13';
DateTime time1 = DateTime.Parse(startDate);
DateTime time2 = DateTime.Parse(endDate);
if (time1 >= time2)
{
throw new Exception("会议结束时间不能小于等于会议开始时间,请重新选择!");
}
17、在‘页面’找引用‘用户控件’时的取值。
1.得到控件:用户控件.FindControl("控件ID")
Demo:reportTable.FindControl("btSubmit")
2.得到属性:用户控件.属性名称
Demo:reportTable.UserID;
18、GridView上面显示页码:
<Columns>
......
</Columns>
<PagerSettings Position="TopAndBottom" />
19、fckeditor简要配置说明
1.把fckeditor文件夹放到项目下,及FredCK.FCKeditorV2.dll放到项目Bin目录下。
2.web.config配置
<appSettings>
<!--FCKeditor用户附件上传路径-->
<add key="FCKeditor:UserFilesPath" value="Web/PublicSource/UpLoad/"/>
</appSettings>
3.页面顶部配置
<%@ Register Assembly="FredCK.FCKeditorV2" Namespace="FredCK.FCKeditorV2" TagPrefix="FCKeditorV2" %>
4.页面使用位置配置
<FCKeditorV2:FCKeditor ID="txtContents" runat="server" Height="550px" Width="450px"
BasePath="~/fckeditor/" ToolbarSet="">
</FCKeditorV2:FCKeditor>
20、完成添加后,提示用户是否继续?
ClientScript.RegisterClientScriptBlock(this.GetType(), "提示信息",
" if( window.confirm('新闻添加成功 (*^__^*),您是否想继续添加?'))"
+ " { window.location.href='NewsEdit.aspx' } "
+ " else { window.location.href='NewsList.aspx' } "
, true);
21、DataSet循环:
if (ds.Tables.Count == 1 && ds.Tables[0].Rows.Count != 0)
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
imagesPath.Add(ds.Tables[0].Rows[i]["ImagesPath"].ToString());
}
return imagesPath;
}
22、常用快捷键
1. Ctrl + K + D :格式化代码。前台后台代码都适用。(vs 2005以上版本)
2. Ctrl + K + C :批量注释代码。
3. Ctrl + K + U : 批量取消注释代码。
4. Shift + Del 删除当前行。
5. Ctrl + Shift + A : 添加新项。
6. Ctrl + J :调出智能提示。
7. Ctrl + Alt + L : 调出解决方案资源管理器。
8. Ctrl + M + M : 折叠/收缩 Region 指令区代码。
9. F7 : 从前台源代码视图切换到后台代码视图。
10. Shift + F7 : 从前台源代码视图切换到可视化视图。
11. Ctrl + I : 渐进式搜索。
12. F9 : 添加/删除断点。
13. F10: 逐过程调试。
14. F11 : 逐语句调试。
15. F5 :启动调试。
16. Ctrl + F5 : 开始执行(不调试)。
17: Shift + F5 : 停止调试。
18: Ctrl + Shift + F5 : 重新启动调试。
19: Ctrl + Alt + I : 调出立即窗口(立即窗口非常有用,在调试过程中,可以监控任何变量的值。)
20. Ctrl + Alt + O :调出输出窗口(可以查看编译过程中的错误或警告信息).
21. Tab : 先选中代码,再按tab 键可以缩进代码。
22. Shift + tab :选中代码,可反向缩进代码。(对于格式化js 很有用)
23. Shift + Alt + Enter : 全屏显示与切换。
23、asp.net页面应用返回按钮
<input id="Button1" type="button" value="返回" class="button2"
onclick="window.location.href('CollegeDoc.aspx')" />
24、javascript 控制前进和后退:使用history对象
history.back();//相当于用户单击“后退”按钮
history.forward();//相当于用户单击“前进”按钮
history.go(-2);//相当于用户单击两次“后退”按钮
25、图片链接新页面
<img height="30" alt="" src="images/index11.jpg" width="529" style="cursor:pointer"
border="0" onclick="javascript:window.location.href ='AcademyLog.aspx?type=News'"/>
26、CS强制换行
style="word-wrap: break-word; "
27、jquery验证输入控件
1.给项目添加jquery使用文件包
2.页面添加引用
<script src="../js/jquery_last.js" type="text/javascript"></script>
<link type="text/css" rel="stylesheet" href="../css/validator.css" />
<script src="../js/formValidator.js" type="text/javascript" charset="UTF-8"></script>
<script src="../js/formValidatorRegex.js" type="text/javascript" charset="UTF-8"></script>
<script type="text/javascript" src="../js/datepicker/WdatePicker.js" defer="defer"></script>
3.页面输入控件及引用配置
<script type="text/javascript">
$(document).ready(function(){
$.formValidator.initConfig({formid:"form1",onerror:function(msg){}});
$("#txtTitle").formValidator({onshow:"请输入新闻标题",onfocus:"新闻标题为必填项!"}). inputValidator({min:1,onerror:"新闻标题不能为空"});
});
</script>
<asp:TextBox ID="txtTitle" runat="server" Width="539px" MaxLength="60"></asp:TextBox>
<div id="txtEquipmentNameTip" style="width:250px"></div>
28、[C#] String与string的区别
MSDN中对string的说明:
string 类型表示 Unicode 字符的字符串。string 是 .NET Framework 中的 String 的别名(string is an alias for String in the .NET Framework。)。字符串是不可变的 - 字符串对象一旦创建,其内容就不能更改。
尽管 string 是引用类型,但定义相等运算符(== 和 !=)是为了比较 string 对象(而不是引用)的值。这使得对字符串相等性的测试更为直观。也就是说在string中==和!=进行了重载,使用==和!=比较的不是引用而是他们的值。
string是c#中的类,String是Framework的类,C# string 映射为 Framework的 String。如果用string,编译器会把它编译成String,所以如果直接用String就可以让编译器少做一点点工作。
如果使用C#,建议使用string,比较符合规范 。 string 始终代表 System.String(1.x) 或 ::System.String(2.0) ,String只有在前面有using System;的时候并且当前命名空间中没有名为String的类型(class、struct、delegate、enum)的时候才代表 System.String。
string是关键字,String不是,也就是说string不能作为类、结构、枚举、字段、变量、方法、属性的名称,而String可以。
29、[C#]string类型转换Convert.ToString(obj)、obj.ToString、(string)obj、obj as string 的区别?
Convert.ToString(obj) 与 obj.ToString比较
两者通常有别的对象转换成string对象,区别在于当转换对象(obj)为null时;
obj.ToString()会抛出NullReferenceException异常;
Convert.ToString()不会抛出异常返回null。
(string)obj 与 obj as string比较
强制转换使用(string)obj要求obj的类型必须是string,否则抛出异常;
obj as string方法相对平稳,当obj的运行时类型不是string时会返回null而不抛出异常。
30、把字符串转换为数组
public string[] StringToArray(string str, char sign)
{
return str.Split(sign);
}
31、C#正则验证数字
public bool IsNumeric(string str)
{
System.Text.RegularExpressions.Regex reg1
= new System.Text.RegularExpressions.Regex(@"^[-]?/d+[.]?/d*$");
return reg1.IsMatch(str);
}
32、简单跑马灯效果
<marquee direction="up" onmouseover="this.stop()" onmouseout="this.start()" scrollamount="2">
滚动的文字
</marquee>
33、给Repeater、Datalist和Datagrid增加自动编号列
A、AllowPaging=False 时(分页):
<ItemTemplate>
<%# Container.ItemIndex + 1%>
</ItemTemplate>
或
<ItemTemplate>
<%# this.DataGrid1.Items.Count + 1%>
</ItemTemplate>
B、AllowPaging="True"时 (分页)
<ItemTemplate>
<%# this.DataGrid1.CurrentPageIndex * this.DataGrid1.PageSize + Container.ItemIndex + 1%>
</ItemTemplate>
--SQL--
1、SQL查询某天范围内的数据:
Select * from Notepad where 1=1 and UploadDate > '2009-7-24 0:00:00' and UploadDate < '2009-7-24 23:59:59' order by UploadDate desc
2、SQL添加外键关系
-- alter table 需要建外键的表add constraint 外键名字(FK_字段名) foreign key(外键字段) references 外键表(外键字段) ,
alter table MeetingRoom
add constraint FK_Responder foreign key(Responder) references web_Users(UserId)
相关文章
- .net mvc 站点自带简易SSL加密传输 Word报告自动生成(例如 导出数据库结构) 微信小程序:动画(Animation) SignalR 设计理念(一) ASP.NET -- WebForm -- ViewState ASP.NET -- 一般处理程序ashx 常用到的一些js方法,记录一下 CryptoJS与C#AES加解密互转
- jq中工作中用到的一些方法总结
- [ASP.NET]工作中经常使用到的方法
- 工作中常用到的一些方法集合
- ASP.NET中生成Excel遇到的问题及改进方法
- ASP.NET Core API发布与部署以及遇到的坑和解决方法
- asp.net中利用JSON进行增删改查中运用到的方法