| zhixin's profileMYspace.comPhotosBlogLists | Help |
|
August 27 记录一些常用但不常记的小方法1)向服务器按钮注册不影响验证控件执行的客户端js验证脚本
this.btnSubmit.Attributes["onclick"]="javascript:if (typeof(Page_ClientValidate) == 'function'){ if(Page_ClientValidate()) if (document.getElementById('chAgree').checked == false) {alert('请勾选《快买信用卡协议》');return false;} }";
2)后台执行前台js方法
if (!Page.ClientScript.IsClientScriptBlockRegistered(this.GetType(), "openDiv"))
{ Page.ClientScript.RegisterStartupScript(this.GetType(), "openDiv", "openDiv('divCreditAmount');", true); } 3) js生成随机密码
var chars = new Array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z');
function GetRandomNum(n) { var res = ""; for (var i = 0; i < n; i++) { var id = Math.ceil(Math.random() * 35); res += chars[id]; } document.getElementById('<%= texPassword.ClientID %>').value = res; } 4) iframe 自适应高度
<iframe id="iFrame1" name="content01" onload="this.height=iFrame1.document.body.scrollHeight+120" src="<%=esalesUrl %>/PayWeb/InPay/ZJSTicketFenHong.aspx" width="100%" scrolling="no" frameborder="0" >
</iframe> 加上个
<script language="javascript" type="text/javascript">
document.domain = "sdo.com"; </script> 5) 控件菜单选中样式
前台:
<ul>
<li><a href="/GamePrize/GetGamePrize.aspx" class="<%=this.GetLICss("GamePrize/GetGamePrize.aspx") %>">每日免费领奖</a></li>
<li><a href="DrawGamePrize.aspx" class="<%=this.GetLICss("GamePrize/DrawGamePrize.aspx") %>">付费用户抽奖</a></li> <li><a href="GamePrizeList.aspx" class="<%=this.GetLICss("GamePrize/GamePrizeList.aspx") %>">付费用户领奖</a></li> </ul> 后台:(更具请求url返回样式名)
protected string GetLICss(params string[] urls)
{ foreach (string tempStrUrl in urls) { if (Request.RawUrl.ToLower().Contains(tempStrUrl.ToLower())) { return "now"; } } return ""; } 6) 菜单选中样式
javascript:
function setClass(obj_id, _class) {
var obj = document.getElementById(obj_id); obj.setAttribute("class", _class); //此句可无 obj.setAttribute("className", _class); } html:
<ul>
<li class="on" id="liSearchSales"><a href="#" onclick ="document.getElementById('divZJSSearch').style.display='none';document.getElementById('divNormalSearch').style.display='block';setClass('liSearchSales','on');setClass('liSearchZJS','')">搜索售卡推广员</a></li> <li style="width:1px;"></li> <li><a href="/Credit/RechargeCardRedirect.aspx?NoSaleIndex=1">快卖信用卡充值</a></li> <li style="width:1px;"></li> <li><a href="/web/SpecialEngageUserList.aspx" target="_blank">特约售卡推广员</a></li> <li id="liSearchZJS"><a href="#" onclick ="setClass('liSearchZJS','on');setClass('liSearchSales','');document.getElementById('divZJSSearch').style.display='block';document.getElementById('divNormalSearch').style.display='none';">特约送卡商</a></li> </ul> 7) iframe嵌套页调用外层js方法 前提:
<script language="javascript" type="text/javascript">
document.domain = "sdo.com"; </script> if (top != self && typeof top.TuneHeight == "function") { top.TuneHeight(); } August 20 repeater 和datagrid 页面输出excelRepeater的
protected void btnexcel_Click(object sender, ImageClickEventArgs e)
{ System.IO.StringWriter sw = new System.IO.StringWriter(); System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(sw); this.repList.RenderControl(hw); Response.Clear();
Response.ContentType = "application/vnd.ms-excel"; Response.Charset = "GB2312"; Page.EnableViewState = false; Response.AppendHeader("Content-Disposition", "attachment;filename=SNDA_SpecialEngageUserReport_Page" + aspPagerLeaveInfo.CurrentPageIndex + ".xls");
Response.Write("<html><head><meta http-equiv=Content-Type content=\"text/html; charset=GB2312\"><title> Copyright by SDU</title></head><body><center>"); Response.Write(sw.ToString()); Response.Write("</center></body></html>"); Response.End(); }
还要加个
public override void VerifyRenderingInServerForm(Control control)
{ //base.VerifyRenderingInServerForm (control); } 并在页头加个 EnableEventValidation="false"
DataGrid的
protected void btnexcel_Click(object sender, EventArgs e)
{ Response.Clear(); Response.Buffer = true; Response.Charset = "GB2312"; Response.AppendHeader("Content-Disposition", "attachment;filename=SNDA_SpacialUsers_Page"+this.aspPagerLeaveInfo .CurrentPageIndex+".xls"); // 如果设置为 GetEncoding("GB2312");导出的文件将会出现乱码!!! Response.ContentEncoding = System.Text.Encoding.UTF8; Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。 System.IO.StringWriter oStringWriter = new System.IO.StringWriter(); System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter); this.GridView1.RenderControl(oHtmlTextWriter); Response.Output.Write(oStringWriter.ToString()); Response.Flush(); Response.End(); } 两者有什么区别吗? 没空看,先贴上以后有时间了再来研究吧
August 14 后台输出repeater控件昨天写了个后台输出repeater控件,代码如下
private void BuildBankRepeater()
{ GetDBData(); StringBuilder sbHeader=new StringBuilder (); sbHeader.Append ("<table bgcolor=\"#CCCCCC\" border=\"0\" cellpadding=\"0\" cellspacing=\"1\" style=\"line-height: 30px; height: 30px; text-align: center; margin-bottom: 24px;\" width=\"680\">"); sbHeader.Append("<tr>"); sbHeader.Append("<td bgcolor=\"#eeeeee\" width=\"105\"><strong>银行</strong></td>"); sbHeader.Append("<td bgcolor=\"#eeeeee\" width=\"197\"><strong>开户行</strong></td>"); sbHeader.Append("<td bgcolor=\"#eeeeee\" width=\"58\"><strong>户名</strong></td>"); sbHeader.Append("<td bgcolor=\"#eeeeee\" width=\"134\"><strong>卡号</strong></td>"); sbHeader.Append("<td bgcolor=\"#eeeeee\" width=\"180\"><strong>管理操作</strong></td>"); sbHeader.Append("</tr>"); Repeater oRep = new Repeater();
TemplateBuilder repTb = new TemplateBuilder(); repTb.AppendLiteralString(sbHeader.ToString ()); oRep.HeaderTemplate = repTb; repTb = new TemplateBuilder(); repTb.AppendLiteralString("</table>"); oRep.FooterTemplate = repTb; this.phrep.Controls.Add(oRep);
oRep.ItemCreated += new System.Web.UI.WebControls.RepeaterItemEventHandler(Rep_ItemCreated); oRep.DataSource = dt; oRep.DataBind(); } private void Rep_ItemCreated(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)
{ if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item) { LiteralControl lcname = new LiteralControl("<tr><td bgcolor=\"#FFFFFF\">"+dt.Rows[e.Item.ItemIndex]["BankName"].ToString()+"</td>"); e.Item.Controls.Add(lcname); e.Item.Controls.Add(GetControl(dt.Rows[e.Item.ItemIndex]["BankSubName"].ToString())); e.Item.Controls.Add(GetControl(dt.Rows[e.Item.ItemIndex]["BankTrueName"].ToString())); e.Item.Controls.Add(GetControl(dt.Rows[e.Item.ItemIndex]["BankAccount"].ToString())); LiteralControl lcCancelLink = new LiteralControl("<td bgcolor=\"#FFFFFF\"><a href=\"javascript:window.close()\">撤销申请</a></td></tr>"); e.Item.Controls.Add(lcCancelLink); } } private LiteralControl GetControl(string content)
{ return new LiteralControl("<td bgcolor=\"#FFFFFF\">" + content + "</td>"); } phrep为placeholder
GetDBData()为获得数据库table |
|
|