前期的文章中已对自己日常工作中常用的代码做了总结,下面继续补充。
日期格式的显示
<%#Eval("swmlsj", "{0:yyyy-MM-dd}")%>
货币格式显示
swmlsj.Text = Convert.ToDateTime(dt.Rows[0]["swmlsj"]).ToString("yyyy-MM-dd"); //日期格式
xzjsd.Text = dt.Rows[0]["xzjsd"].ToString();
xzjje.Text = Convert.ToDecimal(dt.Rows[0]["xzjje"]).ToString("C"); //货币格式
表格数据汇总
//求和
Decimal jg = 0;
for (int i = 0; i < dt.Rows.Count; i++)
{
jg += Convert.ToDecimal(dt.Rows[i][8]); //注意哪个列
}
aaa = jg.ToString("C") + ";<br>大写:" + Common.Tools.CmycurD(jg).ToString();
时间控件
死亡冒领时间:<asp:TextBox ID="swmlsj" runat="server" onfocus="WdatePicker({autoPickDate:true,dateFmt:'yyyy-MM-dd'})" autocomplete="off"></asp:TextBox>
文本框失去焦点检测
身份证号码:<asp:TextBox ID="sfzh" runat="server" autocomplete="off" onblur="CheckUser()"></asp:TextBox><br />
链接传递多个参数
<a href='<%#String.Format("zhuijiao_update.aspx?id={0}&xm={1}&sfzh={2}",Eval("id"),Eval("xm"),Eval("sfzh")) %>'>追缴进度</a>
前台显示
<td><%#string.IsNullOrEmpty(Eval("btlx").ToString())?"未设置":Eval("btlx")%> </td>
<td>
<%# Eval("zy").ToString().Length >20? Eval("zy").ToString().Substring(0, 20) + ".." : Eval("zy")%>
</td>
异步操作JS
<script language="javascript" type="text/javascript">
function CheckUser() {
var userid = $("#sfzh").val();
if (userid.length > 0) {
$.ajax({
type: 'get',
url: 'zhuiid_check.ashx',
contentType: "application/json;charset=utf-8",
dataType: "text",
data: { userid: userid },
success: function (data) {
if (data == "True") {
window.alert('已经存在');
$("#sfzh").focus();
}
else {
window.alert('可以使用');
}
},
error: function () {
window.alert('发生错误!');
}
});
}
else {
window.alert('不能为空');
$("#sfzh").focus();
}
}
/*记录-删除*/
function rec_del(id) {
if (prompt("请输入密码:") == 'ok') {
//发异步删除数据
$.ajax({
type: 'get', // HTTP 请求方法
url: 'zhuijiao_del.ashx', //发送请求的地址
contentType: "application/json;charset=utf-8",
//发送信息至服务器时内容编码类型,默认为"application/x-www-form-urlencoded"
dataType: "text", //返回纯文本字符串。
data: { delid: id }, //发送到服务器的数据
success: function (data) {
alert(data);
location.reload();
},
error: function () {
alert("出错了!请稍候再试!");
}
});
} else { alert("密码错误!"); }
}
</script>
序号自增
<%# Container.ItemIndex + 1%>
CSS样式
<style type="text/css">
*{ line-height:20px; margin-bottom:5px; vertical-align:middle;}
</style>
非空判断
if (!string.IsNullOrEmpty(xzjsd.Text))
{
model.xzjsd = xzjsd.Text.Trim();
}
转换为大写字母
model.sfzh = sfzh.Text.Trim().ToUpper(); // 转大写
获取下拉列表的值
model.xz = xz.Value; //下拉列表
类型转换
int id = int.Parse(context.Request.QueryString["delid"]);
导出XLS
//导出全部数据
protected void export_Click(object sender, EventArgs e)
{
DataTable dt = new DAL.shbt_ry().GetAllList();
MemoryStream ms = DataTableRenderToExcel.DataTableToExcel(dt, "请核对导出数据");
Response.AddHeader("Content-Disposition", string.Format("attachment; filename=" + DateTime.Now.ToString("yyyy-MM-dd_HH_mm_ss_fff") + ".xls"));
Response.BinaryWrite(ms.ToArray());
Response.ContentType = "application/ms-excel";
ms.Close();
ms.Dispose();
}
清空
this.RepList1.Controls.Clear();//清空当前内容
RepList1.DataSource = string.Empty;
RepList1.DataBind();
显示PDF
string url = Request.QueryString["url"];
Response.ContentType = "application/pdf";
Response.Clear();
Response.TransmitFile(url);
Response.End();
下载文件
string fileURL = HttpContext.Current.Server.MapPath("~") + url;
FileInfo fileInfo = new FileInfo(fileURL);
Response.Clear();
Response.AddHeader("content-disposition", "attachment;filename=" + Server.UrlEncode(fileInfo.Name.ToString()));
Response.AddHeader("content-length", fileInfo.Length.ToString());
Response.ContentType = "application/octet-stream";
Response.ContentEncoding = System.Text.Encoding.Default;
Response.WriteFile(fileURL);
打印JS代码
<input type="button" name="button_print" value="打印" onclick="javascript:printHTML()">
<script type="text/javascript">
/**打印页面*/
function printHTML(_this) {
// 获取当前页的html代码
var bdhtml = window.document.body.innerHTML;
/*//设置打印开始区域
//var startStr = '<!--startprint-->';
// 设置打印结束区域
//var endStr = '<!--endprint-->';
//从标记里获取需要打印的页面
var printHtml = bdhtml.substring(bdhtml.indexOf(startStr) + startStr.length, bdhtml.indexOf(endStr));*/
//隐藏不必要的按钮和样式
// 通过id获取需要打印的页面
var printHtml = document.getElementById('form-div').innerHTML;
// 需要打印的页面
window.document.body.innerHTML = printHtml;
if (!!window.ActiveXObject || "ActiveXObject" in window) { //是否ie
remove_ie_header_and_footer();
}
//调用打印
window.print();
// 还原界面
window.document.body.innerHTML = bdhtml;
window.location.reload();
}
//去掉页眉、页脚
function remove_ie_header_and_footer() {
var hkey_path;
hkey_path = "HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";
try {
var RegWsh = new ActiveXObject("WScript.Shell");
RegWsh.RegWrite(hkey_path + "header", "");
RegWsh.RegWrite(hkey_path + "footer", "");
} catch (e) {
}
}
</script>
页面边距CSS
@page { margin-top:30px; margin-bottom:20px;}
空格回车的转换
/// <summary>
/// 对输入的html编码,同时对回车与空格进行转换
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public string htmlEncode(string str)
{
return Server.HtmlEncode(str).Replace("\n", "<br/>").Replace(" ", " ");
}
验证输入数字
年龄:<asp:TextBox ID="age" runat="server" onchange="if(/\D/.test(this.value)){alert('只能输入整数');this.value='';}" ></asp:TextBox><br />
分数:<asp:TextBox ID="score" runat="server" onkeyup="value=value.replace(/[^\d^\.]+/g,'')" ></asp:TextBox><br />
静态页面访问密码
<script type="text/javascript">
loopy()
function loopy() {
var sWord =""
while (sWord != "123") {//设置密码
sWord = prompt("输入正确密码才能登陆!")
}
alert("欢迎访问")
}
</script>
显示datatable内容
for (int i = 0; i < dt.Rows.Count; i++)
{
for (int j = 0; j < dt.Columns.Count; j++)
{
Response.Write(dt.Rows[i][j].ToString()+",");
}
Response.Write("<br>");
}
汉字转拼音首字母
public class Common
{
/// <summary>
/// 获取汉字首字母(可包含多个汉字)
/// </summary>
/// <param name="strText"></param>
/// <returns></returns>
public string GetChineseSpell(string strText)
{
int len = strText.Length;
string myStr = "";
for (int i = 0; i < len; i++)
{
myStr += getSpell(strText.Substring(i, 1));
}
return myStr;
}
public string getSpell(string cnChar)
{
byte[] arrCN = Encoding.Default.GetBytes(cnChar);
if (arrCN.Length > 1)
{
int area = (short)arrCN[0];
int pos = (short)arrCN[1];
int code = (area << 8) + pos;
int[] areacode = { 45217, 45253, 45761, 46318, 46826, 47010, 47297, 47614, 48119, 48119, 49062, 49324, 49896, 50371, 50614, 50622, 50906, 51387, 51446, 52218, 52698, 52698, 52698, 52980, 53689, 54481 };
for (int i = 0; i < 26; i++)
{
int max = 55290;
if (i != 25) max = areacode[i + 1];
if (areacode[i] <= code && code < max)
{
return Encoding.Default.GetString(new byte[] { (byte)(65 + i) });
}
}
return "*";
}
else
return cnChar;
}
}