C# Repeater 绑定的数据重复数据改变颜色

求后台一个方法,根据dataTable的一列判断数据是否重复,重复改变颜色。

4个回答

protected void rpInCome_ItemDataBound(object sender, RepeaterItemEventArgs e)

{

  if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem)  
        {  
            Repeater rpInCome = (Repeater)sender;  
            try  
            {  
                PagedDataSource pds = (PagedDataSource)rpInCome.DataSource;  
                if (pds.Count == 0)  
                    return;  

                IEnumerator enumrator = pds.DataSource.GetEnumerator();  
                int ncount = 0;  
                while (enumrator.MoveNext() && ncount != e.Item.ItemIndex)  
                    ncount++;  

                DataRowView dr = (DataRowView)enumrator.Current;  

                double dValue = dr["CurrentEarn"] == DBNull.Value ? 0 : Convert.ToDouble(dr["CurrentEarn"].ToString());  
                HtmlControl c = (HtmlControl)e.Item.FindControl("row");  
                if (dValue < 0)  
                {  
                    c.Attributes["class"] = "green";  
                }  
                else if(dValue>0)  
                {  
                    c.Attributes["class"] = "red";  
                }  
            }  
            catch (Exception ex)  
            {  
                //  
            }  
    }  

}

 <ItemTemplate>
<div<%#Eval("列名称").ToString()=="1"?" style='background:#f00;color:#fff'":""%>>.....</div>
<ItemTemplate>

http://blog.csdn.net/cdefg198/article/details/6664648
参考这个代码,无非就是判断条件改改

重复数据看你怎么定义,for循环判断一下即可。

着重看下后台如何改变背景等。http://www.cnblogs.com/chendaoyin/archive/2013/05/10/3071809.html

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
C# web窗体 控件Repeater 怎么绑定数据源
![图片说明](https://img-ask.csdn.net/upload/201805/31/1527734556_85284.png) 如图所示!大佬们,求解
C#列表页和详细页的最优写法
最近在做一个带有查询分页功能的列表页和详情页,主要用的是repeater绑定数据 用的Viewstate存储分页信息(当前页码,总页码,)和查询条件;详细页可以修改信息。目前已经实现了,但是感觉性能好差,要实现这种功能,最优的写法是哪一种?
在后台如何获取Repeater控件中绑定的值 如<%#Eval("tiid") %>的值
``` <%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true" CodeBehind="AddTestContent.aspx.cs" Inherits="ZaiXianKaoShi.AddTestContent" %> <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> <form runat="server"> <%--只能在详情中添加试题内容(此页面已得到考试编号)--%> <%--考试编号:--%> <%--题库id: 分值:--%> <div class="portlet box purple"> <div class="portlet-title"> <div class="caption"><i class="icon-cogs"></i>题目信息显示</div> </div> <div class="portlet-body"> <div id="sample_3_wrapper" class="dataTables_wrapper form-inline" role="grid"> <div class="row-fluid"> <div class="span6"> <div class="dataTables_length" id="sample_3_length"> <label> <div id="s2id_autogen3" class="select2-container m-wrap small"> <a href="javascript:void(0)" onclick="return false;" class="select2-choice" tabindex="-1"> <abbr class="select2-search-choice-close" style="display:none;"></abbr> <div> <b></b> </div> </a> </div> <select tabindex="-1" class="m-wrap small select2-offscreen" aria-controls="sample_3" size="1" name="sample_3_length"> <option selected="selected" value="5">5</option> <option value="10">10</option> <option value="20">20</option> <option value="-1">All</option> </select> 每页显示行数 </label> </div> </div> <div class="span6"><div id="Div2" class="dataTables_filter"><label>搜索: <input class="m-wrap small" aria-controls="sample_2" type="text"></label></div></div> </div> <table aria-describedby="sample_3_info" class="table table-striped table-bordered table-hover dataTable" id="sample_3"> <asp:Repeater id="Repeater2" runat="server"> <HeaderTemplate> <tr> <th>题库编号</th> <th>科目编号</th> <th>试题内容</th> <th>待选答案</th> <th>正确答案</th> <%--<th>分值</th>--%> <th>添加到试卷</th> </tr> </HeaderTemplate> <ItemTemplate> <tr> <td><%#Eval("tiid") %></td> <td><%#Eval("subid") %></td> <td><%#Eval("content") %></td> <td><%#Eval("answerS") %></td> <td><%#Eval("answer") %></td> <%--<td><input type="text" name="fen" id="fen" style="width:20px; height:12px" runat="server" value="10" />分</td>--%> <td> <%--<a href="AddTestContent.aspx?tid=<%#Eval("tiid") %>&id=<%=Request["testid"] %>&subid=<%=Request["subid"] %>">添加</a>--%> <input type="submit" value="添加" /> </td> </tr> </ItemTemplate> </asp:Repeater> </table> <div class="row-fluid"> <div class="span6"> <div id="sample_3_info" class="dataTables_info" runat="server" style="color:#f00"> </div></div><div class="span6"> <div class="dataTables_paginate paging_bootstrap pagination"> <ul> <li class="prev disabled"><a href="#">← <span class="hidden-480"> Prev </span></a></li> <li class="active"> <a href="#">1</a></li><li><a href="#">2</a></li> <li><a href="#">3</a></li><li class="next"> <a href="#"><span class="hidden-480">Next</span> → </a> </li></ul></div></div></div></div> </div> </div> </form> </asp:Content> ```
Repeater控件数据的显示被弹出框影响了是怎么回事?
* 点击按钮,弹出弹出框,选中里面的数据,然后后台取数据,给Repeater绑定数据源,用Eval给Repeater每个字段传值。 * 如果去掉弹出框,Repeater是能完美的动态显示数据的,但有弹出框就没显示, * 能够确定数据源没问题,数据能够取到, 我已经花费太多时间研究了,可能只是一句代码的问题,请哪位指点一下,在此先谢过了 ``` <asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional"> <ContentTemplate> <table cellpadding="0" cellspacing="0" width="100%" border="0" style="margin: 10px 0;"> <tr> <th> 姓名Name</th> <th>性别Gender</th> <th>年龄Age</th> <th>删除Delete</th> </tr> <asp:Repeater ID="RepeaterList" runat="server" OnItemCommand="RpProduct_ItemCommand"> <ItemTemplate> <tr> <td > <asp:TextBox ID="Name" runat="server" class="atext" Text='<%# Eval("Name")%>'></asp:TextBox> </td> <td> <asp:TextBox ID="Gender" runat="server" class="atext" Text='<%# Eval("Gender")%>'></asp:TextBox> </td> <td> <asp:TextBox ID="Age" runat="server" class="atext" Text='<%# Eval("Age")%>'></asp:TextBox> </td> <td> <span> asp:LinkButton ID="lbDel" CommandName="btndel" runat="server" OnClientClick="return confirm( '确定要删除吗(Are you sure delete it)? ');">Del</asp:LinkButton></span> </td> </tr> </ItemTemplate> </asp:Repeater> </table> </ContentTemplate> </asp:UpdatePanel> ```
关于Repeater控件在Visual Studio 2013中的使用问题
我在一个asp.net页面中使用repeater控件,如下: ``` <div> <asp:Repeater ID="repeater1" runat="server" > <ItemTemplate> <li><a>[<%# Eval("name") %>]</a></li> </ItemTemplate> </asp:Repeater> </div> ``` 而当我在该页面对应的后台文件中要进行绑定操作时,却没有办法直接使用id:repeater了,如下: ``` protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { } repeater1.DataSource = new friendManager().SelectAll(); repeater1.Databind(); } ``` 调试的错误信息: ![图片说明](https://img-ask.csdn.net/upload/201503/25/1427240173_588738.png) 请问这是怎么回事呢?我使用GridView也有这种情况 唯一的解决办法是从design界面进入数据库连接向导来操作。 现在想知道为什么会出现上述情况,希望前辈们不吝赐教。
Repeater控件不能显示数据,求指点
初始化页面时给Repeater赋值时能在前台显示的,后台数据源数据也都没有问题, 在给Repeater控件绑定数据源并赋值后会进入override VerifyRenderingInServerForm方法,前台不能显示数据, 有人说在前台<%@ Page Language="C#" …… EnableEventValidation="false" %>加上EnableEventValidation="false",可是没用,求指点,已经研究好久了气哭 后台:(GridView控件也绑定了一个数据源) ``` RepeaterList.DataSource = dt; (dt是一个表格,有值) RepeaterList.DataBind(); public override void VerifyRenderingInServerForm(System.Web.UI.Control control) { } ``` 前台: ``` <asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional"> <ContentTemplate> <table cellpadding="0" cellspacing="0" width="100%" border="0" style="margin: 10px 0;"> <tr> <th> 姓名Name</th> <th>性别Gender</th> <th>年龄Age</th> <th>删除Delete</th> </tr> <asp:Repeater ID="RepeaterList" runat="server" OnItemCommand="RpProduct_ItemCommand"> <ItemTemplate> <tr> <td > <asp:TextBox ID="TxtSKU" runat="server" class="atext" Text='<%# Eval("Name")%>'></asp:TextBox> </td> <td> <asp:TextBox ID="TxtNewSKU" runat="server" class="atext" Text='<%# Eval("Gender")%>'></asp:TextBox> </td> <td> <asp:TextBox ID="TxtQuantity" runat="server" class="atext" Text='<%# Eval("Age")%>'></asp:TextBox> </td> <td> <span> asp:LinkButton ID="lbDel" CommandName="btndel" runat="server" OnClientClick="return confirm( '确定要删除吗(Are you sure delete it)? ');">Del</asp:LinkButton></span> </td> </tr> </ItemTemplate> </asp:Repeater> </table> </ContentTemplate> </asp:UpdatePanel> ```
Repeater控件不能显示数据,求指点QAQ
初始化页面时给Repeater赋值时能在前台显示的,后台数据源数据也都没有问题, 再给Repeater控件绑定数据源并赋值后会进入override VerifyRenderingInServerForm方法,前台不能显示数据, 有人说在前台<%@ Page Language="C#" …… EnableEventValidation="false" %>加上EnableEventValidation="false",可是没用,求指点,已经研究好久了气哭 后台:(GridView控件也绑定了一个数据源) ``` RepeaterList.DataSource = dt; (dt是一个表格,有值) RepeaterList.DataBind(); public override void VerifyRenderingInServerForm(System.Web.UI.Control control) { } ``` 前台: ``` <asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional"> <ContentTemplate> <table cellpadding="0" cellspacing="0" width="100%" border="0" style="margin: 10px 0;"> <tr> <th> 姓名Name</th> <th>性别Gender</th> <th>年龄Age</th> <th>删除Delete</th> </tr> <asp:Repeater ID="RepeaterList" runat="server" OnItemCommand="RpProduct_ItemCommand"> <ItemTemplate> <tr> <td > <asp:TextBox ID="TxtSKU" runat="server" class="atext" Text='<%# Eval("Name")%>'></asp:TextBox> </td> <td> <asp:TextBox ID="TxtNewSKU" runat="server" class="atext" Text='<%# Eval("Gender")%>'></asp:TextBox> </td> <td> <asp:TextBox ID="TxtQuantity" runat="server" class="atext" Text='<%# Eval("Age")%>'></asp:TextBox> </td> <td> <span> asp:LinkButton ID="lbDel" CommandName="btndel" runat="server" OnClientClick="return confirm( '确定要删除吗(Are you sure delete it)? ');">Del</asp:LinkButton></span> </td> </tr> </ItemTemplate> </asp:Repeater> </table> </ContentTemplate> </asp:UpdatePanel> ```
数据源没问题,但Repeater控件就是不能显示数据,求好人指点
1、我是想做这么一个效果,点击按钮,显示弹出框,选取里面的数据,然后在后台创建一个虚拟表格,把数据填入表格里,然后Repeater控件绑定表格数据。用Eval给Repeater传值。 2、如果去掉弹出框,Repeater是能完美的动态显示数据的,但有弹出框就没显示, 3、能够确定数据源没问题,数据能够取到, 我已经花费太多时间研究了,可能只是一句代码的问题,请哪位指点一下,在此先谢过了 ``` <asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional"> <ContentTemplate> <table cellpadding="0" cellspacing="0" width="100%" border="0" style="margin: 10px 0;"> <tr> <th> 姓名Name</th> <th>性别Gender</th> <th>年龄Age</th> <th>删除Delete</th> </tr> <asp:Repeater ID="RepeaterList" runat="server" OnItemCommand="RpProduct_ItemCommand"> <ItemTemplate> <tr> <td > <asp:TextBox ID="Name" runat="server" class="atext" Text='<%# Eval("Name")%>'></asp:TextBox> </td> <td> <asp:TextBox ID="Gender" runat="server" class="atext" Text='<%# Eval("Gender")%>'></asp:TextBox> </td> <td> <asp:TextBox ID="Age" runat="server" class="atext" Text='<%# Eval("Age")%>'></asp:TextBox> </td> <td> <span> asp:LinkButton ID="lbDel" CommandName="btndel" runat="server" OnClientClick="return confirm( '确定要删除吗(Are you sure delete it)? ');">Del</asp:LinkButton></span> </td> </tr> </ItemTemplate> </asp:Repeater> </table> </ContentTemplate> </asp:UpdatePanel> ```
Repeater控件不能显示数据,求好人指点
1、我是想做这么一个效果,点击按钮,显示弹出框,选取里面的数据,然后在后台创建一个虚拟表格,把数据填入表格里,然后Repeater控件绑定表格数据。用Eval给Repeater传值。 2、如果去掉弹出框,Repeater是能完美的动态显示数据的,但有弹出框就没显示, 3、能够确定数据源没问题,数据能够取到, 我已经花费太多时间研究了,可能只是一句代码的问题,请哪位指点一下,在此先谢过了 ``` <asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional"> <ContentTemplate> <table cellpadding="0" cellspacing="0" width="100%" border="0" style="margin: 10px 0;"> <tr> <th> 姓名Name</th> <th>性别Gender</th> <th>年龄Age</th> <th>删除Delete</th> </tr> <asp:Repeater ID="RepeaterList" runat="server" OnItemCommand="RpProduct_ItemCommand"> <ItemTemplate> <tr> <td > <asp:TextBox ID="Name" runat="server" class="atext" Text='<%# Eval("Name")%>'></asp:TextBox> </td> <td> <asp:TextBox ID="Gender" runat="server" class="atext" Text='<%# Eval("Gender")%>'></asp:TextBox> </td> <td> <asp:TextBox ID="Age" runat="server" class="atext" Text='<%# Eval("Age")%>'></asp:TextBox> </td> <td> <span> asp:LinkButton ID="lbDel" CommandName="btndel" runat="server" OnClientClick="return confirm( '确定要删除吗(Are you sure delete it)? ');">Del</asp:LinkButton></span> </td> </tr> </ItemTemplate> </asp:Repeater> </table> </ContentTemplate> </asp:UpdatePanel> ```
Repeater控件不能显示数据,求大神指点
我是想做这么一个效果,点击按钮,显示弹出框,选取里面的数据,然后在后台创建一个虚拟表格,把数据填入表格里,然后Repeater控件绑定表格数据。用Eval给Repeater传值。 如果去掉弹出框,Repeater是能完美的动态显示数据的,但有弹出框就没显示, 能够确定数据源没问题,数据能够取到, 我已经花费太多时间研究了,可能只是一句代码的问题,请哪位指点一下,在此先谢过了 ``` <asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional"> <ContentTemplate> <table cellpadding="0" cellspacing="0" width="100%" border="0" style="margin: 10px 0;"> <tr> <th> 姓名Name</th> <th>性别Gender</th> <th>年龄Age</th> <th>删除Delete</th> </tr> <asp:Repeater ID="RepeaterList" runat="server" OnItemCommand="RpProduct_ItemCommand"> <ItemTemplate> <tr> <td > <asp:TextBox ID="Name" runat="server" class="atext" Text='<%# Eval("Name")%>'></asp:TextBox> </td> <td> <asp:TextBox ID="Gender" runat="server" class="atext" Text='<%# Eval("Gender")%>'></asp:TextBox> </td> <td> <asp:TextBox ID="Age" runat="server" class="atext" Text='<%# Eval("Age")%>'></asp:TextBox> </td> <td> <span> asp:LinkButton ID="lbDel" CommandName="btndel" runat="server" OnClientClick="return confirm( '确定要删除吗(Are you sure delete it)? ');">Del</asp:LinkButton></span> </td> </tr> </ItemTemplate> </asp:Repeater> </table> </ContentTemplate> </asp:UpdatePanel> ```
不能给Repeater控件添加数据?可能是被VerifyRenderingInServerForm重写影响了?
在包含GridView的页面中,重写了VerifyRenderingInServerForm方法但是这个方法可能也影响到了Repeater控件的展现。 后台数据源这些都没问题,我在初始化页面时是能给Repeater控件赋值并显示表格行的。 给控件绑定数据源并赋值后会进入VerifyRenderingInServerForm重写方法。 有人说在前台<%@ Page Language="C#" …… EnableEventValidation="false" %>加上EnableEventValidation="false",可是没用,请指点指点哪里出问题了 ## 后台 ``` public override void VerifyRenderingInServerForm(System.Web.UI.Control control) { } ``` ## 前台 ``` <asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional"> <ContentTemplate> <table cellpadding="0" cellspacing="0" width="100%" border="0" style="margin: 10px 0;"> <tr> <th class="style1" style="text-align: left;"> 姓名Name </th> <th class="style2" style="text-align: left; "> 性别Gender </th> <th style="text-align: left; "> 年龄Age </th> <th class="cz" style="text-align: left; "> 删除Delete </th> </tr> <asp:Repeater ID="RepeaterList" runat="server" OnItemCommand="RpProduct_ItemCommand"> <ItemTemplate> <tr> <td style="width:330px;"> <asp:TextBox ID="TxtSKU" CssClass="Counts" Width="200px" runat="server" class="atext" Text='<%# Eval("Name")%>'></asp:TextBox> </td> <td> <asp:TextBox ID="TxtNewSKU" CssClass="Counts" Width="200px" runat="server" class="atext" Text='<%# Eval("Gender")%>'></asp:TextBox> </td> <td> <asp:TextBox ID="TxtQuantity" CssClass="Counts" Width="200px" runat="server" class="atext" Text='<%# Eval("Age")%>'></asp:TextBox> </td> <td> <span> <asp:LinkButton ID="lbDel" CommandName="btndel" runat="server" OnClientClick="return confirm( '确定要删除吗(Are you sure delete it)? ');">Del</asp:LinkButton></span> </td> </tr> </ItemTemplate> </asp:Repeater> </table> </ContentTemplate> </asp:UpdatePanel> ```
怎么绑定这样的repeater
``` <ul class="comstyle newslist-01"> <li class="content column-num1"> <div class="newstitle"> <ul> <li class="title"> <h3> <a href="#" title="你怎么在这里?" target="_self"> 你怎么在这里?</a> </h3> </li> <li class="date"><span> </span>2015-08-25</li> </ul> </div> <div class="newslist"> <ul> <li class="pic"> <a href="#" title="" target="_self"> <img src="images/250fa4-bd56-a50c80ec0094.jpg" alt=""></a> </li> <li class="summary"> <h3>概要:</h3> <p>你怎么在这里你怎么在这里你怎么在这里你怎么在这里你怎么在这里<a class="detail" href="#" title="详细" target="_self">详细&gt;&gt;</a> </p> </li> </ul> </div> </li> <li class="clearBoth"></li> </ul> <ul class="comstyle newslist-02"> <li class="content column-num1"> <div class="newstitle"> <ul> <li class="title"> <h3><a href="#" title="他的“你怎么在这里" target="_self"> 他的“你怎么在这里</a> </h3> </li> <li class="date"><span> </span>2015-08-25 </li> </ul> </div> </li> <li class="clearBoth"></li> <li class="showLine"></li> <li class="content column-num1"> <div class="newstitle"> <ul> <li class="title"> <h3><a href="#" title="他的“你怎么在这里" target="_self"> 他的“你怎么在这里</a> </h3> </li> <li class="date"><span> </span>2015-08-25 </li> </ul> </div> </li> <li class="clearBoth"></li> <li class="showLine"></li> <li class="content column-num1"> <div class="newstitle"> <ul> <li class="title"> <h3><a href="#" title="你怎么在这里" target="_self"> 他的“你怎么在这里</a> </h3> </li> <li class="date"><span> </span>2015-08-25 </li> </ul> </div> </li> <li class="clearBoth"></li> <li class="showLine"></li> </ul> ```
table模板里放个chart控件,然后放在repeater控件里,请问如何绑定chart?
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e) { System.Web.UI.DataVisualization.Charting.Chart ct = (System.Web.UI.DataVisualization.Charting.Chart)e.Item.FindControl("Chart2"); string connStr = "server=localhost;database=T_DB;uid=sa;pwd=123"; SqlConnection myConn = new SqlConnection(connStr); string selStr = "select * from T_Motor1"; SqlCommand myCmd = myConn.CreateCommand(); myCmd.CommandText = selStr; myConn.Open(); SqlDataReader sdr = myCmd.ExecuteReader(CommandBehavior.CloseConnection); ct.Series[0].Points.DataBindXY(sdr, "time", sdr, "speed"); sdr.Close(); myConn.Close(); } <asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound"> <ItemTemplate> <table border="3" class="auto-style1"> <tr> <td class="auto-style2">NO.<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox> </td> <td class="auto-style2"> <asp:Chart ID="Chart2" runat="server"> <Series> <asp:Series Name="Series1"> </asp:Series> </Series> <ChartAreas> <asp:ChartArea Name="ChartArea1"> </asp:ChartArea> </ChartAreas> </asp:Chart> </td> </tr> </table></ItemTemplate> </asp:Repeater>
Repeater控件不能实现动态增加表格行?可能是被VerifyRenderingInServerForm重写影响了?
后台数据源这些都没问题,我在初始化页面时是能给Repeater控件赋值并显示表格行的。 给控件绑定数据源并赋值后会进入VerifyRenderingInServerForm重写方法。 有人说在前台<%@ Page Language="C#" …… EnableEventValidation="false" %>加上EnableEventValidation="false",可是没用,请指点指点哪里出问题了 ** 后台** ``` public override void VerifyRenderingInServerForm(System.Web.UI.Control control) { } ``` **前台** ``` <asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional"> <ContentTemplate> <table cellpadding="0" cellspacing="0" width="100%" border="0" style="margin: 10px 0;"> <tr> <th class="style1" style="text-align: left;"> 姓名Name </th> <th class="style2" style="text-align: left; "> 性别Gender </th> <th style="text-align: left; "> 年龄Age </th> <th class="cz" style="text-align: left; "> 删除Delete </th> </tr> <asp:Repeater ID="RepeaterList" runat="server" OnItemCommand="RpProduct_ItemCommand"> <ItemTemplate> <tr> <td style="width:330px;"> <asp:TextBox ID="TxtSKU" CssClass="Counts" Width="200px" runat="server" class="atext" Text='<%# Eval("Name")%>'></asp:TextBox> </td> <td> <asp:TextBox ID="TxtNewSKU" CssClass="Counts" Width="200px" runat="server" class="atext" Text='<%# Eval("Gender")%>'></asp:TextBox> </td> <td> <asp:TextBox ID="TxtQuantity" CssClass="Counts" Width="200px" runat="server" class="atext" Text='<%# Eval("Age")%>'></asp:TextBox> </td> <td> <span> <asp:LinkButton ID="lbDel" CommandName="btndel" runat="server" OnClientClick="return confirm( '确定要删除吗(Are you sure delete it)? ');">Del</asp:LinkButton></span> </td> </tr> </ItemTemplate> </asp:Repeater> </table> </ContentTemplate> </asp:UpdatePanel> ```
Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用。
源代码如下: ``` <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="list.aspx.cs" Inherits="Tc.Web.admin.yewu.list1" %> <%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server" id="Head1"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>业务列表</title> <link type="text/css" rel="stylesheet" href="../../css/base.css" /> <script type="text/javascript" src="../../js/jquery-1.4.3.min.js"></script> <script type="text/javascript" src="../js/adminlistdels.js"></script> </head> <body style="background-image:url('../../images/admin/images/allbtbg.gif');margin-left:8px;margin-top:8px"> <form id="form1" runat="server"> <table style="width:98%;text-align:center;border:0;background-color:#D6D6D6"> <tr> <td style="height:28px;background-image:url('../images/tbg.gif');padding-left:10px" colspan="8"> <div style="float:left"> <b>业务列表</b> </div> <div style="float:right;padding-right:6px"> [<a href="info.aspx?types=<%=types %>"><u>新增业务</u></a>] </div> </td> </tr> <tr style="text-align:center;height:26px;background-color:#FBFCE2"> <td style="width:6%">选择</td> <td style="width:40%">业务名称</td> <td style="width:20%">业务分类</td> <td style="width:18%">创建时间</td> <td style="width:15%">管理</td> </tr> <asp:Repeater ID="rp_list" runat="server"> <ItemTemplate> <tr style="text-align:center;height:26px;background-color:#FFFFFF;" onmousemove="javascript:this.background-color:#FCFDEE" onmouseout="javascript:this.background-color:#FFFFFF"> <td> <input type="checkbox" name="adis" value="<%=Eval("id") %>" class="np"/> </td> <td><%=Eval("title") %></td> <td><%#LibCache.get_fenlei_name(Eval("fenleiid").ToString().GetInt()) %></td> <td><%#Eval("addtime","{0:yyyy-MM-dd}") %></td> <td> <a href='info.aspx?types=<%=types %>&id=<%#Eval("id") %>'>[更改]</a> <asp:LinkButton ID="lbtnDel" runat="server" OnClientClick="return confirm('确认删除?')" CommandArgument='<%#Eval("ID") %>' OnClick="lbtnDel_Click">[删除]</asp:LinkButton> </td> </tr> </ItemTemplate> </asp:Repeater> <tr style="height:28px;background-color:#FFFFFF;text-align:left"> <td colspan="8"> <a href='#' onclick='quanxuan()' class='np coolbg'>[全选]</a> <a href='#' onclick='fanxuan()' class='np coolbg'>[取消]</a> <asp:LinkButton ID="lbtnDelete" runat="server" OnClientClick="return confirm('确认删除?')" OnClick="btnDelete_Click">[批量删除]</asp:LinkButton> </td> </tr> <tr style="text-align:center;height:28px;background-color:#F9FCEF"> <td colspan="8"> <webdiyer:AspNetPager ID="aspnetpage" runat="server" FirstPageText="首页" LastPageText="尾页" NextPageText="下一页" PrevPageText="上一页" OnPageChanged="aspnetpage_PageChanged" HorizontalAlign="Center" PageIndexBoxType="DropDownList" ShowPageIndexBox="Always" SubmitButtonText="Go" TextAfterPageIndexBox="页" TextBeforePageIndexBox="转到" PageSize="10" LayoutType="Div"> </webdiyer:AspNetPager> </td> </tr> </table> </form> </body> </html> ``` 报错内容截图如下: ![图片说明](https://img-ask.csdn.net/upload/201901/30/1548814645_724336.png) 在线等,求大神指导!!!
Mybatis小练习 报错 求大神指导,信息详尽
# UserMapper ``` public interface UserMapper { //根据id查询用户信息 public User findUserById(int id) throws Exception; //根据用户名列查询用户列表 public List<User> findUserByName(String name)throws Exception; //插入用户 public void insertUser(User user)throws Exception; } ``` # UserMapper.xml ``` <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!-- namespace命名空间,作用就是对sql进行分类化管理,理解sql隔离 注意:使用mapper代理方法开发,namespace有特殊重要的作用,namespace等于mapper接口地址 --> <mapper namespace="com.neuedu.mapper.UserMapper"> <!-- 在 映射文件中配置很多sql语句 --> <!-- 需求:通过id查询用户表的记录 --> <!-- 通过 select执行数据库查询 id:标识 映射文件中的 sql 将sql语句封装到mappedStatement对象中,所以将id称为statement的id parameterType:指定输入 参数的类型,这里指定int型 #{}表示一个占位符号 #{id}:其中的id表示接收输入 的参数,参数名称就是id,如果输入 参数是简单类型,#{}中的参数名可以任意,可以value或其它名称 resultType:指定sql输出结果 的所映射的java对象类型,select指定resultType表示将单条记录映射成的java对象。 --> <select id="findUserById" parameterType="int" resultType="user"> SELECT * FROM user WHERE id=#{value} </select> <!-- 根据用户名称模糊查询用户信息,可能返回多条 resultType:指定就是单条记录所映射的java对象 类型 ${}:表示拼接sql串,将接收到参数的内容不加任何修饰拼接在sql中。 使用${}拼接sql,引起 sql注入 ${value}:接收输入 参数的内容,如果传入类型是简单类型,${}中只能使用value --> <select id="findUserByName" parameterType="java.lang.String" resultType="com.neuedu.pojo.User"> SELECT * FROM user WHERE username LIKE '%${value}%' </select> <!-- 添加用户 parameterType:指定输入 参数类型是pojo(包括 用户信息) #{}中指定pojo的属性名,接收到pojo对象的属性值,mybatis通过OGNL获取对象的属性值 --> <insert id="insertUser" parameterType="com.neuedu.pojo.User"> <!-- 将插入数据的主键返回,返回到user对象中 SELECT LAST_INSERT_ID():得到刚insert进去记录的主键值,只适用与自增主键 keyProperty:将查询到主键值设置到parameterType指定的对象的哪个属性 order:SELECT LAST_INSERT_ID()执行顺序,相对于insert语句来说它的执行顺序 resultType:指定SELECT LAST_INSERT_ID()的结果类型 --> insert into user(id,username,birthday,sex,address) values (seq_user.nextval,#{username},#{birthday},#{sex},#{address}) <!-- 插入数据后,返回自动增长列的ID值,将sql语句的返回值赋给parameterType绑定对象的ID属性 MySQL中使用: select LAST_INSERT_ID() --> <selectKey keyProperty="id" order="AFTER" resultType="int"> SELECT LAST_INSERT_ID() <!--select seq_user.currval from dual--> </selectKey> <!-- 使用mysql的uuid()生成主键 执行过程: 首先通过uuid()得到主键,将主键设置到user对象的id属性中 其次在insert执行时,从user对象中取出id属性值 --> <!-- <selectKey keyProperty="id" order="BEFORE" resultType="java.lang.String"> SELECT uuid() </selectKey> insert into user(id,username,birthday,sex,address) value(#{id},#{username},#{birthday},#{sex},#{address}) --> </insert> <!-- 删除 用户 根据id删除用户,需要输入 id值 --> <delete id="deleteUser" parameterType="java.lang.Integer"> delete from user where id=#{id} </delete> <!-- 根据id更新用户 分析: 需要传入用户的id 需要传入用户的更新信息 parameterType指定user对象,包括 id和更新信息,注意:id必须存在 #{id}:从输入 user对象中获取id属性值 --> <update id="updateUser" parameterType="com.neuedu.pojo.User"> update user set username=#{username},birthday=#{birthday},sex=#{sex},address=#{address} where id=#{id} </update> </mapper> ``` # Tset ``` public class UserMapperTest { private SqlSessionFactory sqlSessionFactory; // 此方法是在执行testFindUserById之前执行 @Before public void setUp() throws Exception { // 创建sqlSessionFactory // mybatis配置文件 String resource = "config/SqlMapConfig.xml"; // 得到配置文件流 InputStream inputStream = Resources.getResourceAsStream(resource); // 创建会话工厂,传入mybatis的配置文件信息 sqlSessionFactory = new SqlSessionFactoryBuilder() .build(inputStream); } @Test public void testFindUserById() throws Exception { SqlSession sqlSession = sqlSessionFactory.openSession(); //创建UserMapper对象,mybatis自动生成mapper代理对象 UserMapper userMapper = sqlSession.getMapper(UserMapper.class); //调用userMapper的方法 User user = userMapper.findUserById(1); System.out.println(user); } @Test public void testFindUserByName() throws Exception { SqlSession sqlSession = sqlSessionFactory.openSession(); //创建UserMapper对象,mybatis自动生成mapper代理对象 UserMapper userMapper = sqlSession.getMapper(UserMapper.class); //调用userMapper的方法 List<User> list = userMapper.findUserByName("袁超"); sqlSession.close(); System.out.println(list); } } ``` # 报错信息 ``` DEBUG [main] - Logging initialized using 'class org.apache.ibatis.logging.slf4j.Slf4jImpl' adapter. DEBUG [main] - Class not found: org.jboss.vfs.VFS DEBUG [main] - JBoss 6 VFS API is not available in this environment. DEBUG [main] - Class not found: org.jboss.vfs.VirtualFile DEBUG [main] - VFS implementation org.apache.ibatis.io.JBoss6VFS is not valid in this environment. DEBUG [main] - Using VFS adapter org.apache.ibatis.io.DefaultVFS DEBUG [main] - Find JAR URL: file:/C:/Users/95638/Desktop/mybatis/ch02-mybatis01/ch02-mybatis01/target/classes/com/neuedu/pojo DEBUG [main] - Not a JAR: file:/C:/Users/95638/Desktop/mybatis/ch02-mybatis01/ch02-mybatis01/target/classes/com/neuedu/pojo DEBUG [main] - Reader entry: User.class DEBUG [main] - Listing file:/C:/Users/95638/Desktop/mybatis/ch02-mybatis01/ch02-mybatis01/target/classes/com/neuedu/pojo DEBUG [main] - Find JAR URL: file:/C:/Users/95638/Desktop/mybatis/ch02-mybatis01/ch02-mybatis01/target/classes/com/neuedu/pojo/User.class DEBUG [main] - Not a JAR: file:/C:/Users/95638/Desktop/mybatis/ch02-mybatis01/ch02-mybatis01/target/classes/com/neuedu/pojo/User.class DEBUG [main] - Reader entry: ���� 1 N DEBUG [main] - Checking to see if class com.neuedu.pojo.User matches criteria [is assignable to Object] DEBUG [main] - PooledDataSource forcefully closed/removed all connections. DEBUG [main] - PooledDataSource forcefully closed/removed all connections. DEBUG [main] - PooledDataSource forcefully closed/removed all connections. DEBUG [main] - PooledDataSource forcefully closed/removed all connections. DEBUG [main] - Find JAR URL: file:/C:/Users/95638/Desktop/mybatis/ch02-mybatis01/ch02-mybatis01/target/test-classes/com/neuedu/mapper DEBUG [main] - Not a JAR: file:/C:/Users/95638/Desktop/mybatis/ch02-mybatis01/ch02-mybatis01/target/test-classes/com/neuedu/mapper DEBUG [main] - Reader entry: UserMapperTest.class DEBUG [main] - Listing file:/C:/Users/95638/Desktop/mybatis/ch02-mybatis01/ch02-mybatis01/target/test-classes/com/neuedu/mapper DEBUG [main] - Find JAR URL: file:/C:/Users/95638/Desktop/mybatis/ch02-mybatis01/ch02-mybatis01/target/test-classes/com/neuedu/mapper/UserMapperTest.class DEBUG [main] - Not a JAR: file:/C:/Users/95638/Desktop/mybatis/ch02-mybatis01/ch02-mybatis01/target/test-classes/com/neuedu/mapper/UserMapperTest.class DEBUG [main] - Reader entry: ���� 1 a DEBUG [main] - Find JAR URL: file:/C:/Users/95638/Desktop/mybatis/ch02-mybatis01/ch02-mybatis01/target/classes/com/neuedu/mapper DEBUG [main] - Not a JAR: file:/C:/Users/95638/Desktop/mybatis/ch02-mybatis01/ch02-mybatis01/target/classes/com/neuedu/mapper DEBUG [main] - Reader entry: UserMapper.class DEBUG [main] - Reader entry: UserMapper.xml DEBUG [main] - Listing file:/C:/Users/95638/Desktop/mybatis/ch02-mybatis01/ch02-mybatis01/target/classes/com/neuedu/mapper DEBUG [main] - Find JAR URL: file:/C:/Users/95638/Desktop/mybatis/ch02-mybatis01/ch02-mybatis01/target/classes/com/neuedu/mapper/UserMapper.class DEBUG [main] - Not a JAR: file:/C:/Users/95638/Desktop/mybatis/ch02-mybatis01/ch02-mybatis01/target/classes/com/neuedu/mapper/UserMapper.class DEBUG [main] - Reader entry: ���� 1    findUserById (I)Lcom/neuedu/pojo/User; DEBUG [main] - Find JAR URL: file:/C:/Users/95638/Desktop/mybatis/ch02-mybatis01/ch02-mybatis01/target/classes/com/neuedu/mapper/UserMapper.xml DEBUG [main] - Not a JAR: file:/C:/Users/95638/Desktop/mybatis/ch02-mybatis01/ch02-mybatis01/target/classes/com/neuedu/mapper/UserMapper.xml DEBUG [main] - Reader entry: <?xml version="1.0" encoding="UTF-8" ?> DEBUG [main] - Checking to see if class com.neuedu.mapper.UserMapperTest matches criteria [is assignable to Object] DEBUG [main] - Checking to see if class com.neuedu.mapper.UserMapper matches criteria [is assignable to Object] DEBUG [main] - Opening JDBC Connection DEBUG [main] - Created connection 209833425. DEBUG [main] - Setting autocommit to false on JDBC Connection [com.mysql.jdbc.JDBC4Connection@c81cdd1] DEBUG [main] - ==> Preparing: SELECT * FROM T_USER WHERE username LIKE '%袁超%' DEBUG [main] - ==> Parameters: org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'mybatis.t_user' doesn't exist ### The error may exist in com/neuedu/mapper/UserMapper.xml ### The error may involve com.neuedu.mapper.UserMapper.findUserByName-Inline ### The error occurred while setting parameters ### SQL: SELECT * FROM T_USER WHERE username LIKE '%袁超%' ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'mybatis.t_user' doesn't exist at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:150) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:141) at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:137) at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:75) at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:59) at com.sun.proxy.$Proxy3.findUserByName(Unknown Source) at com.neuedu.mapper.UserMapperTest.testFindUserByName(UserMapperTest.java:68) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) at org.junit.runners.ParentRunner.run(ParentRunner.java:309) at org.junit.runner.JUnitCore.run(JUnitCore.java:160) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68) at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47) at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242) at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70) Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'mybatis.t_user' doesn't exist at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at com.mysql.jdbc.Util.handleNewInstance(Util.java:400) at com.mysql.jdbc.Util.getInstance(Util.java:383) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:980) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3847) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3783) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2447) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2594) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2545) at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1901) at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1193) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59) at com.sun.proxy.$Proxy5.execute(Unknown Source) at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:63) at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79) at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:63) at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:324) at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:109) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:83) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:148) ... 29 more ``` # SqlMapConfig.xml ``` <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!-- 加载属性文件 --> <properties resource="db.properties"> <!--properties中还可以配置一些属性名和属性值 --> <!-- <property name="jdbc.driver" value=""/> --> </properties> <!-- 全局配置参数,需要时再设置 --> <!-- <settings> </settings> --> <!-- 别名定义 --> <typeAliases> <!-- 针对单个别名定义 type:类型的路径 alias:别名 --> <!-- <typeAlias type="com.neuedu.mybatis.po.User" alias="user"/> --> <!-- 批量别名定义 指定包名,mybatis自动扫描包中的po类,自动定义别名,别名就是类名(首字母大写或小写都可以) --> <package name="com.neuedu.pojo"/> </typeAliases> <!-- 和spring整合后 environments配置将废除--> <environments default="development"> <environment id="development"> <!-- 使用jdbc事务管理,事务控制由mybatis--> <transactionManager type="JDBC" /> <!-- 数据库连接池,由mybatis管理--> <dataSource type="POOLED"> <property name="driver" value="${jdbc.driver}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> </dataSource> </environment> </environments> <!-- 加载 映射文件 --> <mappers> <mapper resource="sqlmap/User.xml"/> <!--通过resource方法一次加载一个映射文件 --> <!-- <mapper resource="sqlmap/User.xml"/> --> <!-- 通过mapper接口加载单个 映射文件 遵循一些规范:需要将mapper接口类名和mapper.xml映射文件名称保持一致,且在一个目录 中 上边规范的前提是:使用的是mapper代理方法 --> <!-- <mapper class="com.neuedu.mapper.UserMapper"/> --> <!-- 批量加载mapper 指定mapper接口的包名,mybatis自动扫描包下边所有mapper接口进行加载 遵循一些规范:需要将mapper接口类名和mapper.xml映射文件名称保持一致,且在一个目录 中 上边规范的前提是:使用的是mapper代理方法 --> <package name="com.neuedu.mapper"/> </mappers> </configuration> ``` # User ``` public class User { //属性名和数据库表的字段对应 private int id; private String username;// 用户姓名 private String sex;// 性别 private Date birthday;// 生日 private String address;// 地址 public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } @Override public String toString() { return "User [id=" + id + ", username=" + username + ", sex=" + sex + ", birthday=" + birthday + ", address=" + address + "]"; } } ``` 也不知道为什么,明明已经在UserMapper.xml里面把表名改了,但是报错信息里查找的还是T-user表 求大神指导!感恩! # 问题已解决 在maven文件里加上下面的代码 ``` <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*Mapper.xml</include> </includes> </resource> </resources> ```
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
JSON解析——net.sf.json.JSONObject
简介 在程序开发过程中,在参数传递,函数返回值等方面,越来越多的使用JSON。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,同时也易于机器解析和生成、易于理解、阅读和撰写,而且Json采用完全独立于语言的文本格式,这使得Json成为理想的数据交换语言。 JSON建构于两种结构: “名称/值”对的集合(A Collection of name/va...
卸载 x 雷某度!GitHub 标星 1.5w+,从此我只用这款全能高速下载工具!
作者 | Rocky0429 来源 | Python空间 大家好,我是 Rocky0429,一个喜欢在网上收集各种资源的蒟蒻… 网上资源眼花缭乱,下载的方式也同样千奇百怪,比如 BT 下载,磁力链接,网盘资源等等等等,下个资源可真不容易,不一样的方式要用不同的下载软件,因此某比较有名的 x 雷和某度网盘成了我经常使用的工具。 作为一个没有钱的穷鬼,某度网盘几十 kb 的下载速度让我...
2019年还剩1天,我从外包公司离职了
这日子过的可真快啊,2019年还剩1天,外包公司干了不到3个月,我离职了
我一个37岁的程序员朋友
周末了,人一旦没有点事情干,心里就瞎想,而且跟几个老男人坐在一起,更容易瞎想,我自己现在也是 30 岁了,也是无时无刻在担心自己的职业生涯,担心丢掉工作没有收入,担心身体机能下降,担心突...
计算机网络的核心概念
这是《计算机网络》系列文章的第二篇文章 我们第一篇文章讲述了计算机网络的基本概念,互联网的基本名词,什么是协议以及几种接入网以及网络传输的物理媒体,那么本篇文章我们来探讨一下网络核心、交换网络、时延、丢包、吞吐量以及计算机网络的协议层次和网络攻击。 网络核心 网络的核心是由因特网端系统和链路构成的网状网络,下面这幅图正确的表达了这一点 那么在不同的 ISP 和本地以及家庭网络是如何交换信息的呢?...
python自动下载图片
近日闲来无事,总有一种无形的力量萦绕在朕身边,让朕精神涣散,昏昏欲睡。 可是,像朕这么有职业操守的社畜怎么能在上班期间睡瞌睡呢,我不禁陷入了沉思。。。。 突然旁边的IOS同事问:‘嘿,兄弟,我发现一个网站的图片很有意思啊,能不能帮我保存下来提升我的开发灵感?’ 作为一个坚强的社畜怎么能说自己不行呢,当时朕就不假思索的答应:‘oh, It’s simple. Wait for me a few
一名大专同学的四个问题
【前言】   收到一封来信,赶上各种事情拖了几日,利用今天要放下工作的时机,做个回复。   2020年到了,就以这一封信,作为开年标志吧。 【正文】   您好,我是一名现在有很多困惑的大二学生。有一些问题想要向您请教。   先说一下我的基本情况,高考失利,不想复读,来到广州一所大专读计算机应用技术专业。学校是偏艺术类的,计算机专业没有实验室更不用说工作室了。而且学校的学风也不好。但我很想在计算机领...
复习一周,京东+百度一面,不小心都拿了Offer
京东和百度一面都问了啥,面试官百般刁难,可惜我全会。
Java 14 都快来了,为什么还有这么多人固守Java 8?
从Java 9开始,Java版本的发布就让人眼花缭乱了。每隔6个月,都会冒出一个新版本出来,Java 10 , Java 11, Java 12, Java 13, 到2020年3月份,...
达摩院十大科技趋势发布:2020 非同小可!
【CSDN编者按】1月2日,阿里巴巴发布《达摩院2020十大科技趋势》,十大科技趋势分别是:人工智能从感知智能向认知智能演进;计算存储一体化突破AI算力瓶颈;工业互联网的超融合;机器间大规模协作成为可能;模块化降低芯片设计门槛;规模化生产级区块链应用将走入大众;量子计算进入攻坚期;新材料推动半导体器件革新;保护数据隐私的AI技术将加速落地;云成为IT技术创新的中心 。 新的画卷,正在徐徐展开。...
轻松搭建基于 SpringBoot + Vue 的 Web 商城应用
首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。Fun: Fun 是一个用于支持 Serverless 应用部署的工具,能帮助您便捷地管理函数计算、API ...
讲真,这两个IDE插件,可以让你写出质量杠杠的代码
周末躺在床上看《拯救大兵瑞恩》 周末在闲逛的时候,发现了两个优秀的 IDE 插件,据说可以提高代码的质量,我就安装了一下,试了试以后发现,确实很不错,就推荐给大家。 01、Alibaba Java 代码规范插件 《阿里巴巴 Java 开发手册》,相信大家都不会感到陌生,其 IDEA 插件的下载次数据说达到了 80 万次,我今天又贡献了一次。嘿嘿。 该项目的插件地址: https://github....
Python+OpenCV实时图像处理
目录 1、导入库文件 2、设计GUI 3、调用摄像头 4、实时图像处理 4.1、阈值二值化 4.2、边缘检测 4.3、轮廓检测 4.4、高斯滤波 4.5、色彩转换 4.6、调节对比度 5、退出系统 初学OpenCV图像处理的小伙伴肯定对什么高斯函数、滤波处理、阈值二值化等特性非常头疼,这里给各位分享一个小项目,可通过摄像头实时动态查看各类图像处理的特点,也可对各位调参、测试...
2020年一线城市程序员工资大调查
人才需求 一线城市共发布岗位38115个,招聘120827人。 其中 beijing 22805 guangzhou 25081 shanghai 39614 shenzhen 33327 工资分布 2020年中国一线城市程序员的平均工资为16285元,工资中位数为14583元,其中95%的人的工资位于5000到20000元之间。 和往年数据比较: yea...
为什么猝死的都是程序员,基本上不见产品经理猝死呢?
相信大家时不时听到程序员猝死的消息,但是基本上听不到产品经理猝死的消息,这是为什么呢? 我们先百度搜一下:程序员猝死,出现将近700多万条搜索结果: 搜索一下:产品经理猝死,只有400万条的搜索结果,从搜索结果数量上来看,程序员猝死的搜索结果就比产品经理猝死的搜索结果高了一倍,而且从下图可以看到,首页里面的五条搜索结果,其实只有两条才是符合条件。 所以程序员猝死的概率真的比产品经理大,并不是错...
害怕面试被问HashMap?这一篇就搞定了!
声明:本文以jdk1.8为主! 搞定HashMap 作为一个Java从业者,面试的时候肯定会被问到过HashMap,因为对于HashMap来说,可以说是Java集合中的精髓了,如果你觉得自己对它掌握的还不够好,我想今天这篇文章会非常适合你,至少,看了今天这篇文章,以后不怕面试被问HashMap了 其实在我学习HashMap的过程中,我个人觉得HashMap还是挺复杂的,如果真的想把它搞得明明白...
毕业5年,我问遍了身边的大佬,总结了他们的学习方法
我问了身边10个大佬,总结了他们的学习方法,原来成功都是有迹可循的。
程序员如何通过造轮子走向人生巅峰?
前言:你所做的事情,也许暂时看不到成果。但不要灰心,你不是没有成长,而是在扎根。 程序员圈经常流行的一句话:“不要重复造轮子”。在计算机领域,我们将封装好的组件、库,叫做轮子。因为它可以拿来直接用,直接塞进我们的项目中,就能实现对应的功能。 有些同学会问,人家都已经做好了,你再来重新弄一遍,有什么意义?这不是在浪费时间吗。 殊不知,造轮子是一种学习方式,能快速进步,造得好,是自己超强能力的表...
推荐10个堪称神器的学习网站
每天都会收到很多读者的私信,问我:“二哥,有什么推荐的学习网站吗?最近很浮躁,手头的一些网站都看烦了,想看看二哥这里有什么新鲜货。” 今天一早做了个恶梦,梦到被老板辞退了。虽然说在我们公司,只有我辞退老板的份,没有老板辞退我这一说,但是还是被吓得 4 点多都起来了。(主要是因为我掌握着公司所有的核心源码,哈哈哈) 既然 4 点多起来,就得好好利用起来。于是我就挑选了 10 个堪称神器的学习网站,推...
这些软件太强了,Windows必装!尤其程序员!
Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。 所以,今天我就把我私藏的Windows必装的软件分享给大家,如果有一个你没有用过甚至没有听过,那你就赚了????,这可都是提升你幸福感的高效率生产力工具哦! 走起!???? NO、1 ScreenToGif 屏幕,摄像头和白板...
阿里面试一个ArrayList我都能跟面试官扯半小时
我是真的没想到,面试官会这样问我ArrayList。
曾经优秀的人,怎么就突然不优秀了。
职场上有很多辛酸事,很多合伙人出局的故事,很多技术骨干被裁员的故事。说来模板都类似,曾经是名校毕业,曾经是优秀员工,曾经被领导表扬,曾经业绩突出,然而突然有一天,因为种种原因,被裁员了,...
大学四年因为知道了这32个网站,我成了别人眼中的大神!
依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦????,嗯,我们导员是所有导员中最帅的一个,真的???? 不过,导员说的是实话,很多人都叫我大神的,为啥,因为我知道这32个网站啊,你说强不强????,这次是绝对的干货,看好啦,走起来! PS:每个网站都是学计算机混互联网必须知道的,真的牛杯,我就不过多介绍了,大家自行探索,觉得没用的,尽管留言吐槽吧???? 社...
良心推荐,我珍藏的一些Chrome插件
上次搬家的时候,发了一个朋友圈,附带的照片中不小心暴露了自己的 Chrome 浏览器插件之多,于是就有小伙伴评论说分享一下我觉得还不错的浏览器插件。 我下面就把我日常工作和学习中经常用到的一些 Chrome 浏览器插件分享给大家,随便一个都能提高你的“生活品质”和工作效率。 Markdown Here Markdown Here 可以让你更愉快的写邮件,由于支持 Markdown 直接转电子邮...
看完这篇HTTP,跟面试官扯皮就没问题了
我是一名程序员,我的主要编程语言是 Java,我更是一名 Web 开发人员,所以我必须要了解 HTTP,所以本篇文章就来带你从 HTTP 入门到进阶,看完让你有一种恍然大悟、醍醐灌顶的感觉。 最初在有网络之前,我们的电脑都是单机的,单机系统是孤立的,我还记得 05 年前那会儿家里有个电脑,想打电脑游戏还得两个人在一个电脑上玩儿,及其不方便。我就想为什么家里人不让上网,我的同学 xxx 家里有网,每...
史上最全的IDEA快捷键总结
现在Idea成了主流开发工具,这篇博客对其使用的快捷键做了总结,希望对大家的开发工作有所帮助。
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
谁是华为扫地僧?
是的,华为也有扫地僧!2020年2月11-12日,“养在深闺人不知”的华为2012实验室扫地僧们,将在华为开发者大会2020(Cloud)上,和大家见面。到时,你可以和扫地僧们,吃一个洋...
Idea 中最常用的10款插件(提高开发效率),一定要学会使用!
学习使用一些插件,可以提高开发效率。对于我们开发人员很有帮助。这篇博客介绍了开发中使用的插件。
AI 没让人类失业,搞 AI 的人先失业了
最近和几个 AI 领域的大佬闲聊 根据他们讲的消息和段子 改编出下面这个故事 如有雷同 都是巧合 1. 老王创业失败,被限制高消费 “这里写我跑路的消息实在太夸张了。” 王葱葱哼笑一下,把消息分享给群里。 阿杰也看了消息,笑了笑。在座几位也都笑了。 王葱葱是个有名的人物,21岁那年以全额奖学金进入 KMU 攻读人工智能博士,累计发表论文 40 余篇,个人技术博客更是成为深度学习领域内风向标。 ...
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆每天早上8:30推送 作者|Mr.K 编辑| Emma 来源|技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯...
最全最强!世界大学计算机专业排名总结!
我正在参与CSDN200进20,希望得到您的支持,扫码续投票5次。感谢您! (为表示感谢,您投票后私信我,我把我总结的人工智能手推笔记和思维导图发送给您,感谢!) 目录 泰晤士高等教育世界大学排名 QS 世界大学排名 US News 世界大学排名 世界大学学术排名(Academic Ranking of World Universities) 泰晤士高等教育世界大学排名 中国共...
立即提问