无法提供摘要。这是一篇受保护的文章。
Browsing the archives for the Asp.Net tag
这是一个基于.Net的图片裁剪控件,使用比较广泛,如Gravatar中的头像上传与裁剪功能的实现。当然Gravatar并不是用的这个控件。今天在codeproject中无意发现的,觉得不错,拿来与大家分享一下。 裁剪后基本参数:MaintainAspectRatio,bool型,是否固定宽高比例进行裁剪。CroppedImageHeight,int型,裁剪后的图片高CroppedImageWidth,int型,裁剪后的图片宽JpegQuality,int型,裁剪后的图片质量裁剪时直接调用ImageCropper的Crop()方法即可。 下载地址:http://www.uushare.com/user/yibin/file/899549
场景: 一个注册表单,其间有.Net自带的验证控件,但有一些验证必须得借助于另外的一些js,如验证是否复选了注册协议(这里为了说明,只举这样一个简单的例子)。这样的话,会涉及到二次验证,第一次可能是.Net验证控件的验证,第二次会认证用户有没有复选注册协议,如何让这二者合作无间呢?这里不得不提到.Net的Page_ClientValidate()函数,该函数返回当前Page页中的表单有没有通过Validate的验证. 新建一个Page页面,简单的放一些控件 <asp:TextBox ID=”TextBox1″ runat=”server”></asp:TextBox> <asp:Button ID=”Button1″ runat=”server” Text=”Button” ValidationGroup=”submit” CausesValidation=”True” onclick=”Button1_Click” /> <input type=”checkbox” id=”checkbox” />我已阅读注册协议 <asp:RequiredFieldValidator ID=”RequiredFieldValidator1″ runat=”server” ControlToValidate=”TextBox1″ Display=”Dynamic” ErrorMessage=”不能为空” ValidationGroup=”submit”></asp:RequiredFieldValidator> 页面呈现TextBox留空,点击Button,会进行一次验证,当在TextBox中输入文本时,再点击提交,验证通过,引发OnClick事件,但用户是否复选了注册协议此处还未做判断。此时需要我们手写验证函数了 <script type=”text/javascript”> function test() { var isCheck = document.getElementById(‘checkbox’).checked; if (isCheck) { //Page_ClientValidate(‘submit’),这里有不同的ValidGroup,所以Page_ClientValidate传递是指定的GroupName if (Page_ClientValidate(‘submit’)) { alert(‘验证成功’); return true; } } else { alert(‘您必须同意注册协议’); return false; } return false; [...]
在今天做的小项目中用户登录成功后要访问另一个应用的一个url,只是get过去。首先想到用HttpWebRequest去直接GetResponse()就OK了但这里会有一个问题:如果另一个应用的响应时间过慢或网络响应过慢,直接会导致登录时会卡一下。可以完全使用HttpWebRequest的异步方法获取响应 class HttpAsynGet { public HttpAsynGet(string url) { this.Url = url; request = (HttpWebRequest)WebRequest.Create(Url); } public string Url { get; set; } private HttpWebRequest request; public HttpWebRequest Request { get { return request; } } public void DO() { request.BeginGetResponse(ProcessResponse, this); } private void ProcessResponse(IAsyncResult ar) { HttpAsynGet item = (HttpAsynGet)ar.AsyncState; using (HttpWebResponse response = [...]