zoukankan      html  css  js  c++  java
  • 项目笔记2 EasyFrame

    经常使用的 ctl D + I 即时窗口
    CSS :不可用 cursor: not-allowed;


    删除小数点后多余的0
    str = str.TrimEnd("0".ToCharArray());
    str.TrimEnd(",");

    /*JS验证输入整数**/
    <input type="text" class="text hover" id="sellNum" verify="isNumb" msg="请输入整数" isnot="true" onkeyup="this.value=this.value.replace(/D/g,'')"
    onafterpaste="this.value=this.value.replace(/D/g,'')" value="" />

    int pageCount = (_recordCount + _pageSize - 1) / _pageSize; 快速计算页数

    ///验证交易密码
    public void CheckTradePwd()
    {
    //先验证是否登录
    if (Session["dt_users"] == null)
    {
    //跳转URL
    HttpContext.Current.Response.Redirect(linkurl("login"));
    return;
    }
    //再验证是否二级密码
    if (HttpContext.Current.Session["Trade_Pwd"] == null)
    {
    Utils.WriteCookie(GTKeys.COOKIE_URL_REFERRER, HttpContext.Current.Request.Url.ToString()); //记住上一页面
    //跳转URL
    HttpContext.Current.Response.Redirect(linkurl("trandPwd"));
    return;
    }
    }


    表单提交弹出: error ;not found
    解决办法: 检查返回值 和 返回值接收是否正确

    表单提交URl 需注意两种提交方式的不同

    <form url="{headUrl}find_password3.html" method="post" id="form1" class="form1">
    <input type="hidden" name="action" value="VerWord" />


    <form action="{headUrl}find_password3/VerWord.html" method="post" id="form1" class="form1">


    <%#string.Format("{0:g}",Eval("add_time"))%>


    扩展
    decimal.TryParse("", out )
    判断作为参数的字符串是否可以转换为decimal类型 返回类型为布尔类型


    --------------------------------------------------------ASPX---------------------------------------------------

    保留两位小数
    Convert.ToDecimal(Eval("cardinal_money")).ToString("#0.00")

    后台:datatype="/((^1d{10})(,1d{10})*$)+/" 验证手机号

    判断Dataset 不为空
    ds.Tables[0].Rows[0][0] != System.DBNull.Value

    //获得详细玩法名,不要彩种名
    public string GetDetail(string play_detail_code, string lottery_code)
    {int i = lottery_code.Length;
    return play_detail_code.Remove(0, i + 1);}



    /// <summary>
    /// 获取二维码图片(数据库为image类型的数据显示)
    /// </summary>
    public void getimage()
    {
    EasyFrame.Model.dt_sys_qr_code qr = this.Get_QR();
    if (qr != null) {
    byte[] b_logoImg = qr.qr_image;
    System.IO.MemoryStream ms = new System.IO.MemoryStream(b_logoImg);
    Response.Clear();
    Response.ContentType = "image/gif";
    Response.OutputStream.Write(b_logoImg, 0, b_logoImg.Length);
    Response.End();
    }
    }

    打开制定URL文件,将文件的内容读入一个字符串,然后关闭该文件
    byte[] buff = System.IO.File.ReadAllBytes(Server.MapPath("~")+txtqr_image.Text);

    ---------------------------------C# winform---------------------------------------------
    // 建立一张虚拟表
    System.Data.DataTable table = new System.Data.DataTable();
    table.Columns.Add("bank_id", typeof(int));//银行主键
    table.Columns.Add("bank_name", typeof(string));//银行名称

    EasyFrame.ORM.EntityList<dt_sys_bank_payee> pay_list = new BLL.sys_bank_payee().GetList(100," group_id = (select id from dt_bank_code where bank_code= 'CMBC')","");
    for (int i = 0; i < pay_list.Count; i++)
    {
    System.Data.DataRow row= table.NewRow();
    row[0] = pay_list[i].id;
    row[1] = new EasyFrame.BLL.bank_code().GetModel(pay_list[i].bank_id).bank_name;
    table.Rows.Add(row);
    }

    /********************************时间处理********************************/
    public decimal Get_Account_money(int user_id, int i)
    {
    decimal account_money = 0;
    //周返利活动投资流水
    dt_user_week_activit_record model = dt_user_week_activit_record.Find("user_id=" + user_id + " and week_state = 0");
    if (model != null)
    {
    DayOfWeek week = model.add_time.DayOfWeek;
    int m_week = week == DayOfWeek.Sunday ? 7 : Convert.ToInt32(week);
    int tianshu = (7 - Convert.ToInt32(m_week)) + (i * 7);//第7的天数
    DateTime end = DateTime.Parse(string.Format("{0}-{1}-{2} 23:59:59", model.add_time.AddDays(tianshu).Year, model.add_time.AddDays(tianshu).Month, model.add_time.AddDays(tianshu).Day));
    DateTime start = DateTime.Parse(string.Format("{0}-{1}-{2} 00:00:00", end.AddDays(-6).Year, end.AddDays(-6).Month, end.AddDays(-6).Day));
    account_money= EasyFrame.BLL.Statistics_Own.Get_betting_money(user_id, start, end);
    }
    return account_money;
    }

    针对执行聚合函数查询的方法

    EasyFrame.Model.dt_user_point.FindAll(string.Format("select MAX(get_point) as get_point from dt_user_point where user_id in ({0}) and sys_point_id={1}", id_list, k + 1))[0].get_point;
    (取出实体集中第一个实体的X属性)

    获取Config配置文件的指定字段
    private string connectionString = System.Configuration.ConfigurationManager.AppSettings["connectionString"].ToString();


    EasyFrame下获取siteConfig文件下的内容
    string kefu = string.Empty;
    try
    {
    kefu = new EasyFrame.BLL.siteconfig().loadConfig().customer;
    }


    时间的加减运算(只有类型都为datetime的数据才可以进行加减运算)
    EasyFrame.Model.dt_user_bank_card _bank_card=new EasyFrame.BLL.user_bank_card().GetModel(bank_id);
    TimeSpan span = DateTime.Now - _bank_card.add_time;
    if (span.TotalHours < 1)
    {
    new EasyFrame.BLL.user_bank_card().GetModel(bank_id).Delete();//删除记录
    res.Code = 1;
    res.StrCode = "删除成功";
    }


    DropDownList 的数据源可以是数组

    System.Diagnostics.Trace.Write(ex.Message); Debug调试程序时输出

    <%#string.Format("{0:g}",Eval("add_time"))%> 格式化时间

    ---------------------------ASPX判断-------------------------------
    <%if (Convert.ToInt32(Eval("state")) == 0)
    {%>
    <asp:LinkButton ID="LinkButton2" runat="server" CommandArgument='<%#Eval("record_code")%>' CommandName="open" OnClick="lnkChange_Click">修改</asp:LinkButton></td>
    <%
    }
    else
    { %>
    <%} %>
    ----------------------------------------------------------

    ----------------SQL分页------------------

    1.top 方式
    select top 10 * from dt_users where id not in (
    select top ((1-1)*10) id from dt_users order by id
    ) order by id
    2.row_number方式
    select * from
    (select *,ROW_NUMBER() over (order by id ) as 行号 from table) as t
    where t.行号 between page*(num-1)+1 and page*num


    select * from (
    select *, ROW_NUMBER() OVER (ORDER BY use_money DESC) as rowNumber from dt_user_capital
    ) ORM_T1 where rowNumber between 1 and 10
    ----------------SQL分页------------------

    数据类型拼接
    EasyFrame.ORM.EntityList<dt_user_capital> list = new EasyFrame.BLL.user_capital().GetList(this.pageSize, this.page, "", _orderby, out this.totalCount);
    List<dt_ssc_users> user_list = new List<dt_ssc_users>();
    for (int i = 0; i < list.Count; i++)
    {
    user_list.Add(new EasyFrame.BLL.ssc_users().GetModel(list[i].user_id));
    }
    rpt_userList.DataSource = user_list;

    7天内注册的用户数量
    select COUNT(*) from dt_users where DateDiff(dd,reg_time,GETDATE())<7

    数据库三范式
    1NF:字段不可分;
    2NF:有主键,非主键字段依赖主键;
    3NF:非主键字段不能相互依赖;


    FOR循环读取
    <%set int rowCount=Obj.Data.QQS.Length%>
    <%if(rowCount>0)%>
    <%for(int i=0;i<Obj.Data.QQS.Length;i++)%>
    <%set string qqName=Obj.Data.QQS[i].qqName %>
    <%set string qq=Obj.Data.QQS[i].qqNum %>
    <%/for%>

    /***********************
    * function:日期转时间戳例如(2015-07-01 20:18:42转为1435753122)
    * Author : ruiec_wzh
    * Parameters: dateStr为(2015-07-01 20:18:42或2015-07-01格式看,注意是字符串)
    * callBack:
    *************************/
    function ruiec_get_unix_time(dateStr)
    {
    var newstr = dateStr.replace(/-/g,'/');
    var date = new Date(newstr);
    var time_str = date.getTime().toString();
    return time_str.substr(0, 10);
    }
    /***********************/

    EasyFrame下开启事务
    dt_lottery_orders.Meta.BeginTrans();
    try
    {
    dt_lottery_orders.Meta.Commit();
    }
    catch (Exception ex)
    {
    dt_lottery_orders.Meta.Rollback();
    }

    EasyFrame下New一个Dialog对话框
    function delItemTr(obj) {
    top.dialog({
    title: '提示',
    content: '您确定要删除这个设置吗?',
    okValue: '确定',
    ok: function () {
    $(obj).parent().parent().remove(); //删除节点
    },
    cancelValue: '取消',
    cancel: function () { }
    }).showModal();


    <input type="text" name="number" />,这样的标签有好几个并且name是相同的值,怎样通过jquery取得值呢?
    jQuery("input[name='number']").each(function(){
    alert(jQuery(this).val());
    });


    //算出奖金除去小数点位后的位数(返点公式 基数*返点数*奖金位数/100)
    int weishu = list_info[0].ToString().Split('.')[0].Length;
    int jishu = Convert.ToInt32( "1".PadRight(weishu, '0'));

    //转换成Json对象
    string result_str = JsonMapper.ToJson(res);
    context.Response.ContentType = "application/json";


    如继承自UserPage
    void UserPage_Init(object sender, EventArgs e)
    {
    if (!IsUserLogin())
    {
    ShowPage();
    return;
    }
    else
    {
    ShowPage();
    //获得登录用户信息
    userModel = GetUserInfo();
    }
    }


    UserPage页面加载调用方法
    protected override void ShowPage()
    {
    this.Init += new EventHandler(UserPage_Init); //加入IInit事件
    }
    /// <summary>
    /// OnInit事件,检查用户是否登录
    /// </summary>
    void UserPage_Init(object sender, EventArgs e)
    {
    if (!IsUserLogin())
    {
    //跳转URL
    HttpContext.Current.Response.Redirect(linkurl("login"));
    return;
    }
    //获得登录用户信息
    userModel = GetUserInfo();
    groupModel = new BLL.user_groups().GetModel(userModel.group_id);
    if (groupModel == null)
    {
    groupModel = new Model.dt_user_groups();
    }
    InitPage();
    }

    /// <summary>
    /// 构建一个虚方法,供子类重写
    /// </summary>
    protected virtual void InitPage()
    {
    //无任何代码
    }

    /// <summary>
    /// 获取服务器主路径
    /// </summary>
    /// <returns></returns>
    public string GetHeaderServerUrl()
    {
    return string.Format("http://{0}/", Request.Url.Authority);
    }


    <a href="javascript:history.back(-1);"> 返回上一页

    数据转换成日期格式
    <%datetostr({nls[add_time]},yyyy-MM-dd)%> 转换成固定日期格式
    <%cutstring({topdr[add_time]},10)%> 直接截取10个字符串长度

    使用ALTER增加字段
    ALTER TABLE dt_rwdetail add rwstate int


    //随机生成固定数字
    int[] str = new int[] { 20, 30, 40, 50, 5, 10 };
    Random r = new Random();
    List<int> m = new List<int>(6);
    for (int i = 0; i < str.Length; i++)
    {
    int j = r.Next(0, str.Length - 1);
    int[] point = new int[6];
    m.Add(str[j]);
    }
    return m;

    bit 类型的数据怎么判断
    <%if({dr[B_state]}=="0")%>
    <td><span class="record_person">未通过</span></td>
    <%else%>
    <td><span class="record_person">通过</span></td>
    <%/if%>


    Orderby Groupby 分组排序SQL语句
    select count(*) 数量 ,u.point, u.id, u.user_name from dt_Mission m,
    dt_users u where m.id = u.id group by u.id , u.user_name ,u.point order by 数量 desc

    表单提交两种类型的获取方式
    如果你使用get方式进行提交的话,最好就使用Request.QueryString["xxx"]这样子来获取,如果你使用post方式来提交的话,
    那就采用Request.Form来获取参数,当然如果你觉得这都麻烦,那就直接使用Request["xxx"]这样子的方式来获取提交的参数吧!
    post类型传值 用GTRequest.GetFormString (表单一般使用POST提交)
    get类型传值 用GTRequest.GetQueryInt (使用get提交会破坏URL的完整性)
    获取表单内容必须通过表单内相应控件的name属性获取
    例如
    <input type='text' id='tb_user' name='user_name' />
    获取 : Request['user_name']

    //简单类型获取
    <%set bool isSing = getSing()%>
    <%if(isSing)%>
    <a href="javascript:void(0)" class="Sign_btn bgc_greenH">
    <i class="iconfont">&#xe64f;</i>签到</a>
    <%/if%>

    //进度条
    <%set double percentage=getPercentage("Project",4,{dr.fields[Financing_Total]},{dr.fields[Financing_Already]})%>
    <span class="jindu"><i class="fl pecents_value" value="{percentage}"></i></span>


    //如果需要取得比较少的数据
    <%=SumInvestor()%> 更快
    <%set int SumInvestors=SumInvestor()%>
    共<i class="c_blue">{SumInvestors}</i>名投资人

    //获得当前登录用户信息
    Exp1: dt_users userModel = new Web.UI.BasePage().GetUserInfo();
    Exp2: (Session["dt_ssc_users"] as EasyFrame.Model.dt_ssc_users).id

    //自定义跳转页面
    context.Response.Write("{"status":1, "msg":"取消成功!","url":"u_xm_guangzhu.html?f.u_Id"}");

    //SQL增加一列
    ALTER TABLE dt_complain add c_content varchar(max);

    select convert(char(10),GetDate(),120) 取得日期 不要时间


    //递归找到左区最末端
    public void GetRightId(int user_id)
    {
    var quese = new EasyFrame.BLL.users().GetModel(user_id);
    if (quese != null)
    {
    if (quese.right_id != -1)
    {
    GetRightId(quese.right_id);
    }
    else
    {
    right_id = quese.id;
    }
    }
    else
    {
    right_id = -1;
    }
    }


    /*************************C#.Net winform***************************/
    dGrid_DP.Rows.Clear(); //清除grivdview 数据
    this.dGrid_Info.DataSource = null; //清除数据源
    循环读取当前所有的TextBox 然后清空
    foreach (Control ctr in this.Controls)
    {
    if (ctr is TextBox)
    {
    ctr.Text = "";
    }
    }

    /// <summary>
    /// 验证表单提交的数据 对攻击进行过滤
    /// </summary>
    /// <param name="text"></param>
    /// <returns></returns>
    public ResultObj GetIsFormText(string text)
    {
    ResultObj res = new ResultObj();

    #region 防止XSS攻击
    if (text.IndexOf("<") != -1)
    {
    res.Code = -1;
    res.StrCode = "提交字符串包含 < 文本,防止XSS攻击";
    return res;
    }

    if (text.IndexOf(">") != -1)
    {
    res.Code = -1;
    res.StrCode = "提交字符串包含 > 文本,防止XSS攻击";
    return res;
    }
    #endregion

    #region 防止sql注入式攻击
    string StrKeyWord = @"select|insert|delete|from|count(|drop table|update|truncate|asc(|mid(|char(|xp_cmdshell|exec master|netlocalgroup administrators|:|net user|""|or|and";
    //过滤关键字符
    string StrRegex = @"[-|;|,|/|(|)|[|]|}|{|%|@|*|!|']";
    if (Regex.IsMatch(text, StrKeyWord, RegexOptions.IgnoreCase) || Regex.IsMatch(text, StrRegex))
    {
    res.Code = -1;
    res.StrCode="提交的数据包含sql语句关键字";
    return res;
    }
    #endregion

    res.Code = 1;
    res.StrCode = "验证表单数据成功";
    return res;
    }



    递归函数
    List<dt_users> list = new List<dt_users>();
    bll_users.GetTeamMember(model.agent_id);
    for (int i = 0; i < bll_users.user_list.Count; i++) {
    list.Add(bll_users.user_list[i]);
    }

    public class top_user
    {

    public List<dt_users> user_list = new List<dt_users>();

    public void GetTeamMember(int user_id)
    {
    string sql = string.Format("select * from dt_users where id={0}", user_id);
    List<dt_users> list = EasyFrame.Model.dt_users.FindAll(sql);
    for (int i = 0; i < list.Count; i++) {
    user_list.Add(list[i]);
    GetTeamMember(list[i].agent_id);
    }
    }
    }

    #region 根据 Agent 判断是否是智能手机
    ///<summary>
    /// 根据 Agent 判断是否是智能手机
    ///</summary>
    ///<returns></returns>
    public bool CheckAgent()
    {
    bool flag = false;

    string agent = HttpContext.Current.Request.UserAgent;
    string[] keywords = { "Android", "iPhone", "iPod", "iPad", "Windows Phone", "MQQBrowser" };

    //排除 Windows 桌面系统
    if (!agent.Contains("Windows NT") || (agent.Contains("Windows NT") && agent.Contains("compatible; MSIE 9.0;")))
    {
    //排除 苹果桌面系统
    if (!agent.Contains("Windows NT") && !agent.Contains("Macintosh"))
    {
    foreach (string item in keywords)
    {
    if (agent.Contains(item))
    {
    flag = true;
    break;
    }
    }
    }
    }

    return flag;
    }
    #endregion




    /// <summary>
    /// 递归统计无限下级用户类
    /// </summary>
    public class Team
    {

    /// <summary>
    /// 存储递归后的结果
    /// </summary>
    public List<EasyFrame.Model.dt_ssc_users> Teamlist = new List<EasyFrame.Model.dt_ssc_users>();

    /// <summary>
    /// 获取用户团队所有的成员(包含下级的下级) Teamlist作为该方法的结果
    /// </summary>
    /// <param name="userGuid">用户主键</param>
    /// <returns></returns>
    public void GetTeamMember(int user_id)
    {
    System.Data.SqlClient.SqlParameter par = new System.Data.SqlClient.SqlParameter();
    par.SqlDbType = System.Data.SqlDbType.Int;
    par.ParameterName = "@user_id";
    par.Value = user_id;
    System.Data.DataTable table = EasyFrame.Common.DbHelperSQL.RunProcedure("proc_Team", new System.Data.SqlClient.SqlParameter[] { par }, "dt_users").Tables[0];
    Teamlist = EasyFrame.Model.dt_ssc_users.LoadData(table);

    }
    }


    使用 :team.GetTeamMember(login_user_id);
    team.Teamlist

    /*************************************************JS 模块*******************************************************/
    $(document).ready(function(){}); --页面加载函数

    1.JS tab切换
    $(".list_tag i").click(function(){ $(this).addClass("curr"); $(this).siblings().removeClass("curr") var num = $(this).index(".list_tag i"); $(this).parent(".list_tag").siblings(".tag_det").children(".tag_copy").eq(num).show(); $(this).parent(".list_tag").siblings(".tag_det").children(".tag_copy").eq(num).siblings(".tag_copy").hide(); })


    2.弹出询问对话框
    <Script Language='JavaScript'>
    if ( window.confirm('" + strMsg + "'))
    { window.location.href='" + strUrl_Yes +"' }
    else {window.location.href='" + strUrl_No + "' };
    </script>


    3.获得当前table选中行的id
    var id = $(this).parents("tr").children("td:nth-child(1)").text();
    alert(id);


    4.键盘按键被松开时执行判断
    <input type="text" class="ty_text w100" maxval="{pointVlue}" onkeyup="if(isNaN(value))execCommand('undo');if(this.value>{pointVlue}){this.value={pointVlue}}" onafterpaste="if(isNaN(value))execCommand('undo')" maxlength="5" />

    5.循环读取表格数据
    $(".ltable").find("tr").each(function () {
    alert($(".ltable").find("tr").eq(1).text());
    alert($(".ltable").find("tr").text());
    });

    6.头部引用FLASH文件
    <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="170px" height="100px" align="center">
    <param name="allowScriptAccess" value="sameDomain" />
    <param name="movie" value="<%templateskin%>/images1/logo.swf" />
    <param name="quality" value="high" />
    <param name="wmode" value="transparent" />
    <embed src="<%templateskin%>/images1/logo.swf" wmode="Transparent" bgcolor="none" width="170px" height="100px" align="center" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" />
    </object>


    7.初始化表单验证
    <script type="text/javascript" charset="utf-8" src="../../scripts/jquery/jquery-1.11.2.min.js"></script>
    <script type="text/javascript" charset="utf-8" src="../../scripts/jquery/Validform_v5.3.2_min.js"></script>
    <script type="text/javascript">
    $(function () {
    //
    $("#form1").initValidform();
    });
    </script>

    8.检测IE
    if ('undefined' == typeof (document.body.style.maxHeight))
    {
    window.location.href = 'ie6update.html';
    }

    9. 后台使用JS实现带参数链接的隐藏与显示
    $(function () {
    $(".ltable tr").each(function () {
    var lbl_Type = $(this).find(".lbl_Type").text();
    var user_id = $(this).find(".lbl_user_id").text();
    if (lbl_Type == "2") {
    $(this).find(".a_href").attr("href", "lottery_user_stat.aspx?ID=" + user_id + "&Type=" + lbl_Type);
    } else {
    $(this).find(".a_href").hide();
    }
    })
    });

    10. JS实现增删改查
    <script type="text/javascript">
    $(function () {
    //查询
    $("#lbtnSearch").bind("click", function () {
    var key = $("#txtKeywords").val();
    if (key == "") {
    alert("查询关键字不能为空,请输入编码或名称等关键字!")
    return;
    }
    location.href = "/IBMS.Admin/Module/Index?key=" + encodeURIComponent(key);
    });
    //全选按钮
    $("#btndraw").bind("click", function () {
    if ($(this).attr("state") != "ck_all") {
    $(this).attr("state", "ck_all");
    $("input[type='checkbox'").each(function () {
    $(this).prop("checked", true);
    });
    } else {
    $(this).attr("state", "ck_no");
    $("input[type='checkbox'").each(function () {
    $(this).prop("checked", false);
    });
    }
    });
    //批量删除按钮
    $("#btnDelete").bind("click", function () {
    var arr = new Array();
    $("input[type='checkbox'").each(function () {
    if ($(this).is(":checked")) {
    arr.push($(this).attr("value"));
    }
    });
    CommonDelete(arr);
    });
    //单个删除按钮
    $(".c_red").bind("click", function () {
    var arr = $(this).parent().parent().find("input").eq(0).attr("value");
    CommonDelete(arr);
    });
    //JS跳转
    $(".c_blue").bind("click", function () {
    var arr = $(this).parent().parent().find("input").eq(0).attr("value");
    if (arr == "") return;
    location.href = "/IBMS.Admin/Module/Edit?ID=" + arr;
    });
    //表单验证
    if ($(".add_user").size() > 0) {
    var _FormValidate = new $.rui_validate();
    _FormValidate.initload();
    _FormValidate.initForm({
    FormObj: $(".add_user"),
    FormIdName: 'add_user'
    });
    }
    });

    function CommonDelete(arr) {
    if (arr.length <= 0) {
    alert("请选中您要删除的记录!");
    return;
    }
    if (!confirm("确定要删除吗,删除后将无法恢复?")) {
    return;
    }
    $.post("/IBMS.Admin/Module/Delete", "IDS=" + arr, function (x) {
    if (x.ret == "0000") {
    alert("删除成功!");
    location.href = location.href;
    } else {
    alert(x.msg);
    }
    });
    }
    </script>

    11.重置alert事件
    /********************
    * function:重置alert事件
    * Author : ruiec_wzh
    * Parameters: ''
    * callBack:调用了ruiec_wzh_alert()
    *************************/
    function ruiec_changeAlert() {
    var _alert = window.alert;
    MyAlert = function (text) {
    ruiec_NewAlert(text)
    };
    MyAlert.noConflict = function () {
    window.alert = _alert;
    };
    // expose API
    window.alert = window.MyAlert = MyAlert;
    }

    /***********************
    * function:重新定义alert弹出框
    * Author : ruiec_wzh
    * Parameters: text弹出内容,callback成功后返回
    * callBack:
    *************************/
    function ruiec_NewAlert(text, callback) {
    //先将之前的弹窗删除
    var list = art.dialog.list;
    for (var i in list) {
    list[i].close();
    };
    if (!callback) {
    callback = function () { };
    }
    art.dialog({
    content: text,
    ok: callback,
    lock: true
    });
    };

    12. 点击提示正在建设中
    $(".nav_item>a").click(function () {
    var _theHref = $(this).attr("href");
    if (_theHref == "javascript:void(0);") {
    alert("正在紧张建设中,请您稍后!");
    }
    })

    13. JS中Math()函数的用法
    1. Math.ceil()用作向上取整。Math.floor(5.1) 输出6
    2. Math.floor()用作向下取整。Math.floor(5.1) 输出5
    3. Math.round() 我们数学中常用到的四舍五入取整
    4. Math.abs(x) 返回绝对值
    5. Math.valueOf() 方法返回 Math 对象的原始值

    14.JS寻找元素
    parent上一级, children下一级, siblings同级

    /***********************
    * function:获取url参数值
    * Author : ruiec_wzh
    * Parameters: name为参数名字
    * callBack:
    *************************/
    function getQueryString(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
    var r = window.location.search.substr(1).match(reg);
    if (r != null) return unescape(r[2]); return null;
    }

    /**** 页面初始化时接收action**/

    string action = string.Empty;
    if (Request["action"] != null)
    {
    action = Request["action"];
    }
    if (action != string.Empty)
    {
    switch (action)
    {
    case "getdate":
    GetData();
    break;
    default:
    break;
    }
    }

    /**以json格式输出数据**/
    private void GetData()
    {
    List<EasyFrame.Model.dt_article> list = new List<Model.dt_article>();
    list = new BLL.article().GetList(100,"","");
    Response.Clear();
    Response.ContentType = "application/json";
    string json = LitJson.JsonMapper.ToJson(list);
    Response.Write(json);
    try
    {
    Response.End();
    }
    catch (Exception ex)
    {
    System.Diagnostics.Trace.Write(ex.Message);
    }
    }

    /**Js验证插件使用**/
    <script type="text/javascript" src="js/jquery.ruiValidate.js"></script>
    $(function () {
    var _FormValidate = new $.rui_validate();
    _FormValidate.initload();

    _FormValidate.initForm({
    FocusTip: true, //获取焦点则进行提示,显示输入规则( boolen )
    BlurChange: true, //失去焦点再进行提示,显示输入规则( boolen )
    ShowTip: "Bubble", //显示提示信息的类型:Bubble(气泡);IconText( 图标加文字 ) ; Text(仅是文字); Icon(正确或错误的图标); Highlights 聚焦高亮 ;
    ShowTipDirection: "right", //提示信息的位置:right:右边,top:上面;bottom:下面;inside:输入框内;
    FormObj: $("#form1"), //验证的表单容器
    FormIdName: 'form1', //form的ID名称
    ShowTipClass: "ts_msg", //显示提示信息的区域class
    ShowTipStyle: "", //显示提示信息的class
    SubBtn: 'sub_btn', //提交按钮的class
    CallBack: 'ruivalidate_form_class' //回调函数
    })
    function ruivalidate_form_class(obj) {
    var _this = $(".ruivalidate_form_class .sub_btn");
    _sub(_this);
    }

    });

    JS获取url参数

    function getQueryVariable(variable)
    {
    var query = window.location.search.substring(1);
    var vars = query.split("&");
    for (var i=0;i<vars.length;i++) {
    var pair = vars[i].split("=");
    if(pair[0] == variable){return pair[1];}
    }
    return(false);
    }

    www.XXXXX.com/index.php?id=1&image=awesome.jpg
    调用 getQueryVariable("id") 返回 1。
    调用 getQueryVariable("image") 返回 "awesome.jpg"。


    ********ResultObj类****
    /// <summary>
    /// 返回结果数据类
    /// </summary>
    [System.Runtime.Serialization.DataContract]
    public class ResultObj
    {
    /// <summary>
    /// 结果代码
    /// </summary>
    [DataMember]
    public int Code
    {
    get;
    set;
    }

    /// <summary>
    /// 代码说明
    /// </summary>
    [DataMember]
    public string StrCode
    {
    get;
    set;
    }
    }

    /// <summary>
    /// 带参数的返回结果数据类
    /// </summary>
    public class ResultObj<T> : ResultObj
    {
    /// <summary>
    /// 返回参数
    /// </summary>
    [DataMember]
    public T Data
    {
    get;
    set;
    }
    }
    ********ResultObj类****


    获取客户端IP地址
    System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();
    System.Web.HttpContext.Current.Request.UserHostAddress;//客户端IP地址

    X2表示十六进制格式(大写),域宽2位,不足的左边填0 输出16进制
    sb.AppendFormat("{0:X2}", 10);

    /*************************************************常见问题*******************************************************/

    常见问题
    Q: 页面提交数据不能提交到后台
    A: 检查js文件是否引入成功

    Q: 页面出现404
    A: 检查模板URL配置

    Q:提示类、接口成员声明的else 标记无效
    A:检查前台<%if%><%else%>标记时候关闭


    /*************************************************MVC*******************************************************/
    String 转 Datetime
    public DateTime ConvertStrToDateTime(string strTime)
    {
    IFormatProvider ifp = new CultureInfo("zh-CN", true);
    var time = DateTime.ParseExact(strTime, "yyyyMMdd", ifp);
    return time;
    }


  • 相关阅读:
    新的for增强循环方法,记录一下,方便以后使用
    Intellij IDEA 自动生成 serialVersionUID
    Java知识点汇总[Review]
    D16-常用十种算法[Java数据结构和算法]
    W9-请求响应[JavaWeb]
    D15-图[Java数据结构和算法]
    D14-多路查找树[Java数据结构和算法]
    D13-平衡二叉树[Java数据结构和算法]
    D12-二叉排序树[Java数据结构和算法]
    D11-堆排序和赫夫曼编码[Java数据结构和算法]
  • 原文地址:https://www.cnblogs.com/opts/p/7026623.html
Copyright © 2011-2022 走看看