zoukankan      html  css  js  c++  java
  • 企业站新闻信息的后台功能开发心得(1)

    开发了半个月的后台一部分功能,我已身心俱疲,不过实在太有收货了,完成之后,赶紧做个总结。

    1.首先是发布咨询模块。

    总结如下:

    1.咨询类型的选择:其实就是下拉框。但是怎样读取后台数据呢,分解一下:

    <asp:DropDownList ID="newsType_Id" runat="server" CssClass="txtCss"></asp:DropDownList>

    这是服务器控件,不用我说了,那好后台绑定数据:

    public void InitDrop() //资讯类型
    {
    newsType_Id.DataSource = sqlhelper.publicFun("select * from tb_NewsType where newsType_Name!='展会资讯'");
    newsType_Id.DataTextField = "newsType_Name";
    newsType_Id.DataValueField = "newsType_Id";
    newsType_Id.DataBind();
    }

    最不能忘的当让是加载:

    if (!IsPostBack)
    {
    InitDrop();
    }

    2.输入标题:这真是好难啊。

    <li><span>标题:</span><asp:TextBox ID="news_Title" runat="server" CssClass="txtCss" onkeyup="shu(this);"></asp:TextBox><font><%=news_Title.Text.Length %>/30</font></li>

    这里有个思路:数字,字母,英文标点,符号,占1个字节,中文占两个字节。

    所以要动态更新输出的字数,要算的是字节数,而不是长度。

    function cutStr(str, L) {
    var result = '',
    strlen = str.length, // 字符串长度
    chrlen = str.replace(/[^x00-xff]/g, '**').length; // 字节长度
    if (chrlen <= L) { return str; }

    for (var i = 0, j = 0; i < strlen; i++) {
    var chr = str.charAt(i);
    if (/[x00-xff]/.test(chr)) {
    j++; // ascii码为0-255,一个字符就是一个字节的长度
    } else {
    j += 2; // ascii码为0-255以外,一个字符就是两个字节的长度
    }
    if (j <= L) { // 当加上当前字符以后,如果总字节长度小于等于L,则将当前字符真实的+在result后
    result += chr;
    } else { // 反之则说明result已经是不拆分字符的情况下最接近L的值了,直接返回
    return result;
    }
    }
    }
    //数量
    function shu(obj) {
    var zs = 30; //字数限制为30
    var val = $(obj).val(); //文本框输入的值
    var bytesCount = 0; //字节数为0
    for (var i = 0; i < val.length; i++) {
    var c = val.charAt(i);
    if (/^[u0000-u00ff]$/.test(c)) //匹配双字节
    {
    bytesCount += 1;
    }
    else {
    bytesCount += 2;
    }
    }
    var len = 0;
    if (bytesCount > zs * 2) {
    $(obj).val(cutStr(val, zs * 2));
    len = zs;
    }
    else {
    len = Math.ceil(bytesCount / 2);
    }
    $(obj).next().html(len + "/" + zs); //下一个标签,如果是上一个标签则是prev
    }

    这真是一个复杂的过程呀。

    3.输入关键字:

    <li><span>关键字:</span><asp:TextBox ID="news_KeyWord" runat="server" onkeyup="key(this)" CssClass="txtCss"></asp:TextBox><font><%=news_KeyWord.Text.Length %>/30&nbsp;多个关键字用“,”隔开!</font></li>

    也需要加字数限制,同上。

    4.上传图片,我单独有一节将说上传图片。

    5.

    <li style="margin: 10px 0 6px 0;"><span>显示:</span><asp:RadioButton ID="rdoxsyes" runat="server" GroupName="rdoxs" Text="图片在详细页显示" value="True" Checked /><asp:RadioButton ID="rdoxxno" runat="server" value="False" Text="图片不在详细页显示" GroupName="rdoxs" /></li>
    <li style="margin: 10px 0 6px 0;"><span>置顶:</span><asp:RadioButton ID="rdozdyes" runat="server" GroupName="rdozd" Text="置于页面顶部" value="True" Checked /><asp:RadioButton ID="rdozdno" runat="server" value="False" Text="不置于页面顶部" GroupName="rdozd" /></li>
    <li style="margin: 10px 0 6px 0;"><span>推荐:</span><asp:RadioButton ID="rdotjyes" runat="server" GroupName="rdotj" Text="作为推荐内容" value="True" Checked /><asp:RadioButton ID="rdotjno" runat="server" value="False" Text="不作为推荐内容" GroupName="rdotj" /></li>

    置顶,推荐,显示,这里有个贴士:连个单选框name要一致,也就是GroupName,那么服务器控件,怎样获取他的value值呢。同html一样。

    $("input[name='rdox']:checked").val();

    获取被选中的值,还有就是raido中value中写好,true和false。

    alert()一下看对不对。

    6.按钮:其实这个页面共有6个按钮,通过后台的判断,隐藏4个按钮,这里只有发布和保存草稿。

  • 相关阅读:
    近两周总结、、
    联局域网服务器
    C++ builder 中的 XMLDocument 类详解(17) 更好地显示 xml 的测试结果 FormatXMLData 及其他
    看了《马粥街残酷史》这部电影有感
    这次出差总结
    C++ builder 中的 XMLDocument 类详解(18) NodeValue 与 NodeName 的读写区别
    oracle 常用语句
    c++ builder 中的 XMLDocument 类详解(14) XML的保存与创建
    C++ builder 中的 XMLDocument 类详解(16) – 前一个节点、后一个节点和父节点
    C++ builder 中的 XMLDocument 类详解(15) – Firstnode 和Lastnode
  • 原文地址:https://www.cnblogs.com/tuoxiong/p/5996674.html
Copyright © 2011-2022 走看看