Category Archives: c#

Entity Framework Generic Repository

Introduction A generic Entity Framework repository pattern implementation. Code https://github.com/jinweijie/EF.GenericRepository Usage Unzip Database\Database.7z, attach to LocalDB, or restore to your favoriate Sql Server instance and change the connection string in App.Config. Open solution and run the application. Base Repository The base repository exists in Common\AbstractRepository.cs, it handles the basic CRUD operations, for example, methods like… Read More »

Dapper Custom Pagination Sample

Introduction Sample for custom pagination using Dapper. Supporting sorting + criteria + pagination. Source Code https://github.com/jinweijie/Dapper.PagingSample Usage Unzip Database\Database.7z, attach to LocalDB, or restore to your favoriate Sql Server instance and change the connection string in App.Config. Open solution and run the application. Caller sample: Tuple<IEnumerable<Log>, int> Find(LogSearchCriteria criteria , int pageIndex , int pageSize… Read More »

Mask Mobile Number Using C#

A small piece of code which mask any string with specific mask characters. // Mask the mobile. // Usage: MaskMobile("13456789876", 3, "****") => "134****9876" public static string MaskMobile(string mobile, int startIndex, string mask) { if (string.IsNullOrEmpty(mobile)) return string.Empty; string result = mobile; int starLengh = mask.Length; if (mobile.Length >= startIndex) { result = mobile.Insert(startIndex, mask);… Read More »

Category: c#

Getting Started with Selenium in CSharp

Selenium is a suite of tools to automate web app testing across many platforms. You may download and use Selenium from http://seleniumhq.org/ In this post, I would like to introduce the basic usage of Selenium in .Net development. Create Selenium instance In Selenium 2.0, there is a concept named WebDriver which is used to interacting… Read More »

新浪微博RSS生成器Ver 1.0 同步Twitter帐号

同时在用twitter和新浪微博,在twitter上主要看贴为主,在新浪微博上发帖比较多。于是就想到是否搞一下将新浪微博同步到twitter上。搜索了下,发现月光博客上提供了解决方案,不过稍有遗憾的是没有图片的同步。于是就自己用asp.net实现了下,用下来感觉还行,所以分享一下,同时提供源代码,如果有定制开发的朋友可以修改源码,但如果再发布时候,请注明出处,先谢谢了! 下载 新浪微博RSS生成器Ver 1.0 发布包 新浪微博RSS生成器Ver 1.0 源代码 部署步骤 首先,需要一个.Net Framework 2.0以上的IIS环境。 将SinaFeed_Bin_ver_1.0.zip解压以后,部署成网站或者虚拟目录。 将包里面的db文件夹赋予network service以及aspnet用户可写权限,偷懒且安全的话,给everyone即可。 运行起来的话,应该会是个Authentication Error的错误,这是正常的,因为接下来要配置下。 同步原理 用FeedBurner绑定Twitter,在FeedBurner中配置Rss源到SinaFeed应用。当FeedBurner每次来ping的时候,SinaFeed抓取新浪微博的内容,检查是否已经抓取过,把结果保存在Access数据库中,返回Rss给FeedBurner。 实现功能 同步新浪微博到Twitter。 包含图片链接,可配置。 包含转发原文及作者。 配置 在Web.Config里,有以下几个可以配置的选项: 代理服务器相关,例如你的网站访问外网需要代理的话,请设置一下配置: UseProxy , ProxyAddress, ProxyPort, ProxyDomain, ProxyUserName, ProxyUserPassword AuthCodeConfig 配置在应用里的授权码,自己设定一个,例如abc,当外面请求RSS的时候,需要在Url传递一个AuthCode,要和所配置的(abc)一直,程序才会返回结果,否则报Authentication Error错误。 AllowedUserIds 允许被处理新浪微博Id,如何得到你的Id?只要点击“关注”,在Url里就会出现你的Id,例如,我的Id是:1650422717 。SinaFeed支持多个Id,用逗号(,) 分割。 RssChannelUrl 所生成的Rss的ChannelUrl RssBaseGuid 所生成的Rss的唯一标识 RssTitle 所生成的Rss的标题 RssDescription 所生成的Rss的描述 使用步骤 例如,你部署在www.example.com上,虚拟目录为SinaFeed,你的新浪Id为1650422717,AuthCodeConfig你配置了jinweijiesinafeed那么 访问http://www.example.com/SinaFeed/Default.aspx?SinaUserId=1650422717&AuthCode=jinweijiesinafeed 就可以得到用户1650422717的Rss了。 另外的一些可传参数的配置: UseOriginalImage 是否使用原来的大图片,默认True,如果False的话,将会使用新浪微博的缩略图。… Read More »

ASTreeView: Resolve confliction with jQuery

Thanks xiaot for reporting this issue that if jQuery is included in page, it conflicts with the ASTreeView. To resolve this issue, we can use the noconflict method of the jQuery: <script src=”jquery-1.3.2.js”></script> <script type=”text/javascript”> var J = jQuery.noConflict(); </script> Now $("#foo") will be J("#foo") and it will not conflict with the ASTreeView. I’ll update… Read More »

生成指定长度的随机字符串

有时候在测试代码的时候,想生成一些随机的字符串,写了点代码,可以生成指定长度的字符,范围是a-z,如需增加范围,只需修改第七行即可。 代码如下: public static string GetRandomString(int intSize) { StringBuilder strBuilder=new StringBuilder(); Random rndObject=new Random(); for (int IndCar=0; IndCar<intSize; IndCar++) { int intRandom=Convert.ToInt32(Math.Floor(26*rndObject.NextDouble()+65)); char carRandom=Convert.ToChar(intRandom); strBuilder.Append(carRandom); } rndObject=null; return strBuilder.ToString().ToLower(); }

xslt转换示例xml xslt transform using c#

在以前公司的时候写过一点用c#通过xslt把xml转成html的代码,在此记录一下,附示例xml和xslt。 try { string sourceDoc = “resource-sample.xml”; string xsltDoc = “resource.xslt”; XPathDocument myXPathDocument = new XPathDocument(sourceDoc); XslCompiledTransform myXslTransform = new XslCompiledTransform(); MemoryStream ms = new MemoryStream(); XmlTextWriter writer = new XmlTextWriter(ms, null); myXslTransform.Load(xsltDoc); myXslTransform.Transform(myXPathDocument, null, writer); ms.Seek(0, SeekOrigin.Begin); StreamReader stream = new StreamReader(ms); this.txtOutput.Text = stream.ReadToEnd(); writer.Close(); } catch (FileNotFoundException filexc) { MessageBox.Show(“File Not Found!”,… Read More »

小算法 – 将一个字符串分割成等长的几段

将一个string分成等长的几分 例如,SplitStringIntoMultipart( "abcdefgh", 3 ); 会返回 "abc", "def", "gh" public static string[] SplitStringIntoMultipart( string input , int eachCount ) { if( input.Length == 0 ) return new string[0]; if( input.Length <= eachCount ) return new string[1]{input}; int partNum; if( input.Length % eachCount == 0 ) partNum = input.Length / eachCount; else partNum = input.Length /… Read More »

用JavaScript执行PostBack

早上实现了在子页面更新数据以后,父页面刷新树的功能 思路: 父页面有个隐藏的html button作为proxy,子页面保存完数据以后,用js调用父页面的html button的触发函数click(); 父页面有个asp.net的link button控件,text="",等于也是隐藏的,它负责调用后台cs代码里的负责刷新树的方法; 父页面的html button onclick的时候,__doPostBack(‘DoRefresh’,”); 代码: 父页面apsx: <input type=”button” id=”DoRefreshProxy” value=”DO” onclick=”__doPostBack(‘DoRefresh’,”);” style=”display:none;” /> <asp:linkbutton id=”DoRefresh” runat=”server” onclick=”DoRefresh_Click” CausesValidation=False/> 父页面cs: protected void DoRefresh_Click(object sender, EventArgs e) { this.BindTree(this.tvBuilding.SelectedNodeIndex,1); } 子页面cs: Page.RegisterStartupScript(“pb”,”<script> window.opener.document.getElementById( ‘DoRefreshProxy’ ).click();</script>”);