|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
数据挖掘有点高深的,主要估计就是使用一些算法提取一些实用的数据。学好数据挖掘的话可以应聘baidu或者google,但是一般人家对算法的要求听高的。你最好还是学点应用型的吧。这种主要是研究型的。比来在写一些web使用懂得了一下asp.netmvc发明切实其实好用,以是间接就干上了。不外在利用asp.netmvc的Razor模板的情形其实不向传统webform那样可使用控件。但从Razor的功效上已具有相干取代的功效,只是从Razor角度来讲不是我们寻常说的控件而是子模板。因为Razor能够依据本人需求把功效拆分到子模板中,然后经由过程RenderPage办法输入。从计划的手腕下去看完整能够把分页控件封装成一个子的cshtml,在必要的时分援用上就是了。
作为一个控件的计划其最主要的环节是断绝和自力性,在这方面Razor也思索得对照周密,经由过程PageData能够复杂地举行模板之间的数据巧合成绩。上面经由过程Razor完成一个复杂的分页控件,在完成历程只必要编写一个复杂的cshtml的模板便可。在利用上也其实不必要援用甚么代码或DLL,间接在必要的中央嵌进相干cshtml则能够分页控件的功效。
参数制订
一个控件要输入信息必需制订相干的数据标准,一个复杂的分页控件实在只必要两个参数便可以,分离以后页索引和总页数。能够在Razor模板的顶部声响一下数据标准- @{intpageindex=(int)PageData["pageindex"];intspitindex=0;intpagecount=(int)PageData["pagecount"];}
复制代码 这两上参数就是告知利用者在挪用RenderPage输出的时分必需带上这两个参数值.
分页URL制订
在一些数据查询中常常在URL上会带上一些相干参数,以是在输出分页URL的时分必要复杂地处置一下。- @functions{publicstaticstringGetUrl(intindex){System.Collections.Specialized.NameValueCollectionquerystring=HttpContext.Current.Request.QueryString;System.Text.StringBuildersb=newSystem.Text.StringBuilder();sb.Append("?").AppendFormat("pageindex="+index);foreach(stringkeyinquerystring.Keys){if(key!="pageindex")sb.AppendFormat("&{0}={1}",key,HttpContext.Current.Server.UrlEncode(querystring[key]));}returnsb.ToString();}}
复制代码 复杂地把pageindex附加到以后urlquerystring便可.
分页内容输入
有了以上信息那构建一个分页内容输入就是件复杂的事变了。- <divclass="pagebar"><ul><liid="pageinfo"><a>@Html.Raw(pageindex+1)/@pagecount</a></li>@if(pageindex>0){<li><ahref="@GetUrl(pageindex-1)">Previous</a></li>}@{spitindex=pageindex-2;}@if(spitindex>4){<li><ahref="@GetUrl(0)">1</a></li><li><ahref="@GetUrl(spitindex-2)">...</a></li>}else{for(inti=0;i<spitindex;i++){<li><ahref="@GetUrl(i)">@Html.Raw(i+1)</a></li>}}@for(inti=pageindex-2;i<pageindex;i++){if(i>=pageindexi<0){continue;}<li><ahref="@GetUrl(i)">@Html.Raw(i+1)</a></li>}<li><aid="selectpage"><b>@Html.Raw(pageindex+1)</b></a></li>@for(inti=pageindex+1;i<pagecount;i++){if(i>=pageindex+3){break;}<li><ahref="@GetUrl(i)">@Html.Raw(i+1)</a></li>}@{spitindex=pageindex+3;}@if(pagecount-4>spitindex){<li><ahref="@GetUrl(spitindex+2)">...</a></li><li><ahref="@GetUrl(pagecount-1)">@pagecount</a></li>}else{for(inti=spitindex;i<pagecount;i++){<li><ahref="@GetUrl(i)">@Html.Raw(i+1)</a></li>}}@if(pageindex!=pagecount-1){<li><ahref="@GetUrl(pageindex+1)">Next</a></li>}</ul></div>
复制代码 利用控件
控件利用十分复杂只必要在Razor经由过程RenderPage输入便可- @RenderPage("~/views/controls/pagebar.cshtml",new{pageindex=Model.PageIndex,pagecount=Model.PageCount})
复制代码 控件效果
我之所以想学。NET,是因为一直觉的BILLGATES好厉害,希望有一天能去微软,虽然现在还距离遥远,呵呵:) |
|