随笔分类 - ASP.NET MVC
摘要:所谓的动态排序是指支持任意字段、任意升序降序的排序。我们希望在客户端按如下格式写:localhost:8000/api/items?sort=titlelocalhost:8000/api/items?sort=name,titlelocalhost:8000/api/items?sort=-nam...
阅读全文
摘要:依然chsakell,他写了一篇前端AngularJS,后端OData,ASP.NET Web API的Demo,关于OData在ASP.NET Web API中的正删改查没有什么特别之处,但在前端调用API时,把各种调用使用$resouce封装在一个服务中的写法颇有借鉴意义。文章:http://c...
阅读全文
摘要:chsakell分享了前端使用AngularJS,后端使用ASP.NET Web API的购物车案例,非常精彩,这里这里记录下对此项目的理解。文章:http://chsakell.com/2015/01/31/angularjs-feat-web-api/http://chsakell.com/20...
阅读全文
摘要:平常用Inject比较多,今天接触到了Castle Windsor。本篇就来体验其在ASP.NET MVC中的应用过程。 Visual Studio 2012创建一个ASP.NET MVC 4网站。 通过NuGet安装Castle Windsor。 在当前项目下创建一个名称为"IOC"的文件夹。 在ASP.NET MVC中,每次请求,DefaultControllerFacto...
阅读全文
摘要:在"ASP.NET MVC与Sql Server交互, 插入数据"中,在Controller中拼接sql语句。比如: _db.InsertData("insert into Product(Name,quantity,Price) values('"+productVm.Name+"','"+productVm.Quantity+"','"+productVm.Price+"')"); ...
阅读全文
摘要:在"ASP.NET MVC与Sql Server建立连接"中,与Sql Server建立了连接。本篇实践向Sql Server中插入数据。 在数据库帮助类中增加插入数据的方法。 public class SqlDB { protected SqlConnection conn; //打开连接 public bool OpenC...
阅读全文
摘要:用惯了使用Entity Framework连接数据库,本篇就来体验使用SqlConnection连接数据库。 打开Sql Server 2008,创建数据库,创建如下表: create table Product ( Id int identity(1,1) not null primary key, Name nvarchar(50) null, quantity ...
阅读全文
摘要:在开发多语言网站时,我们可以为某种语言创建一个资源文件,根据浏览器所设置的不同语言偏好,让运行时选择具体使用哪个资源文件。资源文件在生成程序集的时候被嵌入到程序集。 本篇体验,在ASP.NET MVC中实现全球化和本地化,比如,当浏览器选择英文,就让某些页面元素显示英文;当浏览器选择用中文浏览,则显示中文。 使用Visual Studio 2013创建一个无身份验证的MVC项目。 ...
阅读全文
摘要:标题可能无法表达我的本意。比如,有这样一个枚举: public enum MyChoice { MyFirstChoice = 0, MySecondChoice =1, MyThirdChoice = 2 } 数据库中,某表某字段保存值为"0,1,2",在显示的时候,我们希望是"第一个选择,第二个选择,第三个选择"...
阅读全文
摘要:以前发短信使用过短信猫,现在,更多地是使用第三方API。大致过程是: → 用户在页面输入手机号码→ 用户点击"获取验证码"按钮,把手机号码发送给服务端,服务端产生几位数的随机码,并保存在某个地方(Session, Applicaiton, 数据库, 等等),调用第三方的API→ 第三方发送几位数的随机码至用户手机→ 用户在页面输入接收到的随机码→ 把随机码等发送给服务端,与服务端保存的随机...
阅读全文
摘要:在ASP.NET MVC的控制器中可以实现Session处理。如果要在前端视图页实现Session该如何做呢?可以使用window.sessionStorage来做。 AlexChittock用jQuery做了实现。在这里: https://github.com/AlexChittock/JQuery-Session-Plugin 具体实现很简单: @{ ViewBag.Title ...
阅读全文
摘要:有时候,当用户请求一个Controller下的Action,我们希望,在单位时间间隔内,比如每秒,每分钟,每小时,每天,每星期,限制同一个IP地址对某个Action的请求次数。如何做呢? stefanprodan的MvcThrottle能很好地解决这个问题,以及其它类型的IP限制问题。在这里:https://github.com/stefanprodan/MvcThrottle 把项目从G...
阅读全文
摘要:本篇体验使用HttpClient对ASP.NET Web API服务实现增删改查。 创建ASP.NET Web API项目 新建项目,选择"ASP.NET MVC 4 Web应用程序"。 选择"Web API"。 在Models文件夹下创建Product类。 public class Product { public int Id { get; set...
阅读全文
摘要:本篇体验使用HttpClient消费ASP.NET Web API服务,例子比较简单。 依次点击"文件","新建","项目"。 选择"ASP.NET Web API"项目。 在Models文件夹下创建Person.cs类。 public class Person { public int Id { get; set; } public ...
阅读全文
摘要:在没有使用异步Action之前,在Action内,比如有如下的写法: public ActionResult Index()
{ CustomerHelper cHelper = new CustomerHelper(); List result = cHelper.GetCustomerData(); return View(result);
} 以上,假设,Get...
阅读全文
摘要:在ASP.NET MVC中,ModelState中包含了验证失败的错误信息,具体被存储在ModelState.Values[i].Errors[j].ErrorMessage属性中。当然,通过打断点,单步调试可以查看具体的验证失败错误信息,但有时候希望把ModelState中的验证失败信息遍历显示出来。 ModelState类型是ModelStateDictionary,ModelStateD...
阅读全文
摘要:从ASP.NET MVC 5开始,Html.DropDownListFor已经提供了对Enum的支持,但在这以前,需要通过帮助方法或扩展方法来让Html.DropDownListFor显示枚举值。 本篇解决在ASP.NET MVC 4 下Html.DropDownListFor显示默认项的问题。 以上,使用Select是通过Html.DropDownListFor来实现的,Selec...
阅读全文
摘要:如果把商户网站使用第三方支付平台(比如支付宝)的原理搞清楚,那编程就变得简单多了。 整个过程大致这样: 1、商户与支付宝签约。2、在商户网站购买商品,填写数量,确定购买后跳转到结账页面。结账页面可能包括订单号、定单状态(已支付/未支付)、收货人信息、配送方式、定单金额、配送费用、总金额、支付方式、结账按钮,等等。3、当点击"结账"按钮,会重定向到支付宝付款页面。而在后台,实际上是把数据提交到支...
阅读全文
摘要:如果网站使用html5、css3、自适应等新特性,可能有些浏览器版本不支持。这时候,需要提醒浏览者更新浏览器的版本到最新。 本篇用到的插件为:http://jreject.turnwheel.com/ HomeController中: public class HomeController : Controller { public ActionResult ...
阅读全文
摘要:本篇实践在ASP.NET MVC 4下使用Session来保持表单的状态。 本篇的源码在这里: https://github.com/darrenji/KeepFormStateUsingSession 如上,输入俱乐部名称,点击"添加球员",输入球员名称。我们希望,点击"到别的地方转转"跳转到另外一个视图页,当再次返回的时候能保持表单的状态。 点击"到别的地方转转"跳转到另外一个视...
阅读全文