ASP.NET知识点总结7

一条数据通常是显示名字,传值时传ID,来对这条数据进行操作。比如:

这些内容都是从数据库中动态查出来显示的。新闻分类超链接一点击,就会跳到相应的新闻分类下的新闻。新闻标题也是超链接,一点击就会跳到相应的新闻。

新闻分类是一个循环,可以用repeater控件,最新新闻用的是girdview控件。在此展示一下前端的代码(在此博客中,我用//来注释说明。因为HTML的注释标记比较麻烦。偷笑)。

新闻分类:

<asp:Repeater ID="repCategory" runat="server">    //repeater控件
                <ItemTemplate>   //项目模版
                   <li><a href='list.aspx?caid=<%# Eval("id") %>'><%# Eval("name") %></a></li> //href为超链接,?为传的id,
                    必须跟数据库保持一致。<%# Eval("id")%>绑定方法,后面那个绑定name在超链接的文字中显示出来。
 </ItemTemplate>

最新新闻:

<asp:GridView ID="gvNewNews" runat="server" AutoGenerateColumns="False" BorderWidth="0">
  <Columns>  //行
 <asp:TemplateField HeaderText="所属类别" HeaderStyle-CssClass="th_category"> //相当于表格的表头,给他设置一个th-category样式
                       
<ItemTemplate> //项模版
 <a class="td_category" href='list.aspx?caid=<%# Eval("caid") %>'>[<%# Eval("name") %>]</a>
    //caid为主键,超链接传的值,name是超链接显示的内容
 </ItemTemplate>
</asp:TemplateField>
 <asp:TemplateField HeaderText="新闻标题">
                       
<ItemTemplate>

 <a href='content.aspx?newsid=<%# Eval("id") %>' target="_blank" title='<%# Eval("title") %>'>
                //两个双引号嵌套时,外面的那个要变成单引号。
 <%# StringTruncat( Eval("title").ToString(), 18, "...") %></a>
 </ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="发布时间" HeaderStyle-CssClass="th_time" ItemStyle-CssClass="td_time">
 <ItemTemplate>
 <asp:Label ID="Label3" runat="server" Text='<%# Bind("createTime") %>'></asp:Label>
 </ItemTemplate>
</asp:TemplateField>
  </Columns>
            
             
</asp:GridView>


   开头的那张图片,大家注意到没有?新闻标题如果过长的话,就会到一定长度,就把后面的内容用...代替,但是鼠标放上去就会出现一个完整的标题提示,好多网页都是这样的。因为,如果不是这样,那么,标题过长就会把表格撑的变长或者到了下一行,这样网页布局就被打乱了,这在做网页中是绝对禁止的。

后台代码:

 

        /// <summary>
       /// .NET截取指定长度汉字超出部分以"..."代替
       /// </summary>
       /// <param name="oldStr"></param>
       /// <param name="maxLength"></param>
       /// <param name="endWith"></param>
       /// <returns></returns>
 
        public static string StringTruncat(string oldStr, int maxLength, string endWith)
        {
            if (string.IsNullOrEmpty(oldStr))
                //   throw   new   NullReferenceException( "原字符串不能为空 "); 
                return oldStr + endWith;
            if (maxLength < 1)
                throw new Exception("返回的字符串长度必须大于0 ");
            if (oldStr.Length > maxLength)
            {
                string strTmp = oldStr.Substring(0, maxLength);
                if (string.IsNullOrEmpty(endWith))
                    return strTmp;
                else
                    return strTmp + endWith;
            }
            return oldStr;
        } 

前台代码:

 
       <ItemTemplate>
          
        <a href='content.aspx?newsid=<%# Eval("id") %>' target="_blank" title='<%# Eval("title") %>'>
        <%# StringTruncat( Eval("title").ToString(), 18, "...") %></a> 
                                                                      
    </ItemTemplate>                
//target="_blank"定向到一个空白网页,就是打开了一个新的网页 

//title='<%# Eval("title")鼠标放超链接上去,会有title的完整提示
//StringTruncat( Eval("title").ToString(), 18, "...") 调用后台方法,超过18个字符就用...代替

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值