工作三个月小错误总结
1 导出Excel时候 <%@ Page Language="C#" EnableEventValidation = "false" AutoEventWireup="true" CodeFile="List.aspx.cs" Inherits="HDCeShi_List" %>
注意 添加 EnableEventValidation = "false"
2 设计手机页面时,
在页首处 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="list.aspx.cs" Inherits="program_xingzheng_geren_zhengjian_list" %>
必须删除<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
否则 css不起作用。
3 公司没有用vss,调试事只能自己瞎猜。
在iis中调试 混合程序
Response.Write("------------");
Response.End();
4 模糊查询 也可以这样写的 where djr_mc like '%汇%'
5 判断输入字符串 是否为数字onkeyup="if(isNaN(value))execCommand('undo');"
6 sql 单引号转换为空replace(jiansuo_sql,'''','')
7 sql语句命名不可用关键字@id @username 等等
8 css 表格套表格时候 中间有间隙,若是未充满,需要设置表格高度(小于表格总高度)。
9 前台嵌入 C#代码
<div>
<%for (int i = 1; i < 7; i++)
{
Response.Write("<font size=" + (i + 1) + ">Hello World!</font><br/>");
}
%>
</div>
10 gridview 设置宽度 <asp:BoundField DataField="dx_bh" HeaderText="编号" ItemStyle-Width="60px">
</asp:BoundField>
首列(四字)一般设置,一般设置80px,太长的不设置,其他的由长短随意调试。
11 放源代码,预编译时候,导致系统很卡的。
12 dblclick 双击事件
13 字符串转换为金额形式 <1> 前台Text='<%# Eval("fujia","{0:n2}") %>' <2>后台 (Lab.GetJine(dr["fujia"]).toString()).toString("n2");
14 超链接 借用后台参数 并弹出窗口 注意target
<a href="View.aspx?sql=<%= ViewState["sql1"].ToString()%>" class="button_dayin" target="_blank"></a>
15 郁闷,无论怎么搞都会提示“不能在dropdownlist中选择多个项”
解决办法:dropDownList1.ClearSelection()
16 <td align="center"> 表格内容不显示断线
17 删除弹出提示。
OnClientClick="return confirm('删除后无法恢复,真的删除吗?');"
OnClientClick="javascript:if(confirm('删除后无法恢复,真的删除吗?')){this.value='Sumbit';this.disabled=true;}"
18 InitData()只能 调用 ClientScript.RegisterStartupScript(this.GetType(), "sf3424", "alert('该单据已终止!');", true); 一次
19 onchange一般与AutoCompleteType="Disabled"共同使用,onchange先触发,onblur后触发
20 text runat=server readonly="true" js获取值后,后台不可获取值,应在后台设置 例如tbEtime.Attributes.Add("readonly", "true");
21 string sql = "select * from ck_xiaolei where dalei_id='{0}'";
string.Format(sql, Pnode.Value) 等同于 "select * from ck_xiaolei where dalei_id=001
22 alert 换行 ClientScript.RegisterStartupScript(this.GetType(), "ds",
"alert('本收款单由客户自己登记,"+ @"\n\r收款总金额是:" + hidhyj.Value.Trim() + ","+@"\n\r请修改金额总计!')",
true);
23 带有大量服务器控件的导出到excel时候,可外加div run="server" 然后和gridview导出一样
24 string photogeshi = Path.GetExtension(FileUpload1.FileName).ToLower().Trim();
上传文件的.后缀名
25 ~/ 只能在asp.net中解析,一般html只能用../
26 C# 事务操作 注意sql语句执行的先后顺序
27 url传参 必须紧跟 不可加空格 如mn=1 不可为mn =1
28 uint32 没有副的
30 获取当前 按钮的ID if (((Button)sender).ID == "btn_bcgb")
31 在GridView里面按钮的commandName属性的值不要等于“delete”就可以了。因为该值(“delete”)是微软的默认值,它默认会触发RowDeleting事件。
32GridView 得到控件的内容
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "gengxin")
{
string id = e.CommandArgument.ToString();
string da_ids = "";
GridViewRow row = ((Control)e.CommandSource).BindingContainer as GridViewRow;
//如果要去id为TextBox9的值
TextBox txtMingcheng = (TextBox) row.FindControl("lblming");
string dalei_name = txtMingcheng.Text.Trim().Replace("'", "''");
CheckBoxList checkdalei = ((CheckBoxList)row.FindControl("checkdalei"));
}
}
33 div加单色边框线。如下样式:<div style="border:1px solid #CCC;" >
34
前台必须设置成 EnableViewState="True"
后台才可这样写
foreach (GridViewRow rows in GridLm.Rows)
{
if (rows.RowType == DataControlRowTataRow)
{}}
当EnableViewState="false" 不执行OnRowCommand="GridView1_RowCommand"
35 获取上一页路径,获取当前页路径
string pre = Request.UrlReferrer.AbsolutePath.ToString().Trim();
string dangqian= System.Web.HttpContext.Current.Request.Path.Trim();
36 gridview 数字类列导出默认显示为科学计数法[长度变短],[如下修改]
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[0].Attributes.Add("style", "vnd.ms-excel.numberformat:@");
e.Row.Cells[1].Attributes.Add("style", "vnd.ms-excel.numberformat:@");
}
}
37 ./ css 中表示当前路径
38
不想使用自动提示功能:
将input元素的autocomplete属性设置为off可以关闭自动提示
<input type="text" name="name" autocomplete="off">
form表单元素都不想使用自动提示功能,只需在表单form上设置autocomplete=off。
<asp:TextBox ID="tbtiaoma" runat="server" AutoCompleteType="Disabled"/>
39 获取程序异常时所在方法名: System.Reflection.MethodInfo.GetCurrentMethod().Name
40
关于.net下不能修改form的action的问题,最近由于在写一个项目需要提交表单到一个新的页面上去,结果发现net3.5下会自动把设置好的提交地址换成当前页面,这个问题很头疼呀,经过多方查查询发现此问题是.net3.5环境的一个bug,微软官网上下载了一相3.5的sp1补丁安装后,此问题得到解决。
下载地址:http://download.microsoft.com/download/0/6/1/061F001C-8752-4600-A198-53214C69B51F/dotnetfx35setup.exe
41 页面未加载完,js容易出现缺少对象的问题,把js方法 放到 该段执行后面就可以了
42 线程延迟十秒 System.Threading.Thread.Sleep(90000);// 延时90s
43 sql 语句 空格键 打空格不出问题,tab键打空格 易出问题
44 类中读取session HttpContext.Current.Session["username"]
45 但是有种情况就是用到了AJAX的话在返回的方法中调用就会有问题所以要有小的改动
[AjaxMethod]//如果要访问session请加上下面.如果还要写session,加上面的
[Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.Read)]
46 引用js编码方式 <script type="text/javascript" src="js/jquery-1.2.6.pack.js" charset="utf-8"></script>
47 <div class="a b c"></div> div 引用多个class
48 sqlserver保留两位小数 decimal(10,2) js 保留两位小数 str.toFixed(2)
49 c# String 前面不足位数补零的方法
String.Format("{0:D5}",16);
or
int i=16;
i.ToString("D5");
Result: 00016
5代表位数
50
在SQL Server 的function中不能进行基本表的insert,delete,update操作,但是可以对函数内声明的局部临时表进行insert,delete,update操作。否则会产生副作用(对数据基本表的修改超出了函数的作用范围)。
简而言之,函数中的语句的修改只限于函数内部的局部临时变量或临时表。

浙公网安备 33010602011771号