A potentially dangerous Request.Form value was detected from the client

在asp.net mvc2中使用web编辑器提交表单时,出现如下错误:

A potentially dangerous Request.Form value was detected from the client

potential_dangerous.png

这是由于内容中包含html标签造成的。要怎么解决这个问题呢?错误提示本身有解决方法参考链接:http://go.microsoft.com/fwlink/?LinkId=153133

按照这个链接所提示的方法,有时并不能很好的解决。更好的解决方法是:

在web.config中添加如下属性

<system.web>

<httpRuntime requestValidationMode="2.0" />

</system.web>

据说这个方法比较安全一点。

PagedList IEnumerable/IQueryable 对象分页工具

项目主页:https://github.com/TroyGoode/PagedList

直接通过NuGet获取到的只有PagedList.dll一个DLL,通过上面地址,会有另一个分页导航辅助类的DLL:PagedList.Mvc.dll,需要手动编译。

PagedList.dll适用于MVC2和MVC3项目,PagedList.Mvc.dll这个辅助类只能使用在MVC3项目上。

使用实例:

/Controllers/ProductController.cs

public class ProductController : Controller
{
    public object Index(int? page)
    {
        var products = MyProductDataSource.FindAllProducts(); //returns IQueryable<Product> representing an unknown number of products. a thousand maybe?

        var pageNumber = page ?? 1; // if no page was specified in the querystring, default to the first page (1)
        var onePageOfProducts = products.ToPagedList(pageNumber, 25); // will only contain 25 products max because of the pageSize
        
        ViewBag.OnePageOfProducts = onePageOfProducts;
        return View();
    }
}

/Views/Products/Index.cshtml

@{
    ViewBag.Title = "Product Listing"
}
@using PagedList.Mvc; //import this so we get our HTML Helper
@using PagedList; //import this so we can cast our list to IPagedList (only necessary because ViewBag is dynamic)

<!-- import the included stylesheet for some (very basic) default styling -->
<link href="/Content/PagedList.css" rel="stylesheet" type="text/css" />

<!-- loop through each of your products and display it however you want. we're just printing the name here -->
<h2>List of Products</h2>
<ul>
    @foreach(var product in ViewBag.OnePageOfProducts){
        <li>@product.Name</li>
    }
</ul>

<!-- output a paging control that lets the user navigation to the previous page, next page, etc -->
@Html.PagedListPager( (IPagedList)ViewBag.OnePageOfProducts, page => Url.Action("Index", new { page }) )

Entity Framework 4 创建数据表的给力工具 Database Generation Power Pack

该工具提供8中根据对象创建数据表的模式供您选择,是EntityFramework 4 相同功能的加强版。英文名叫:Entify Designer Database Generation Power Pack 或叫 Database Generation Workflow Manager

值得一提的是,数据表到对象的映射模式分为三种,分别是:

TPC 一个最终实体对应一张表(基类没有对应的表)

TPT 一个实体(包括基类)对应一张表

TPH 一个实体层次对应一张表(基类、子类同存在于一张表中)

第一种模式由于Entity Designer不支持,所以没有出现在这个工具中。

另外数据表的创建和实体类型的创建,其实是一个互相影响的过程。实体可以决定表结构,表结构也会影响实体类的设计。有人习惯先设计数据表,有人习惯先设计实体系统,有人甚至交叉进行。

怎么交叉进行呢?设计好表结构,导入EDM,修改或从新设计实体;设计好实体,生成数据表,修改数据表,再导入EDM,再修改实体映射。看实际情况的需要吧!

九个Nuget项目帮助你快速开发dotnet网站

Json.NET  处理json数据输出

PM> Install-Package Newtonsoft.Json

log4net 处理程序log

PM> Install-Package log4net

jQuery Visual Studio 2010 IntelliSense 智能提示工具

PM> Install-Package jQuery.vsdoc

PagedList 分页助手

PM> Install-Package PagedList

PayPal.Helper 贝宝支付助手

PM> Install-Package PayPal.Helper

jQuery  无需解释

PM> Install-Package jQuery

ASP.NET Web Helpers Library 微软提供的网页功能类库,其中包括Google验证码服务调用 reCAPTCHA

PM> Install-Package microsoft-web-helpers

MvcMailer 发邮件

PM> Install-Package MvcMailer

DotNetZip zip文件处理

PM> Install-Package DotNetZip

Entity Framework 4 In Action 电子书+源码下载

《Entity Framework 4 实战》电子书+源码下载

电子书下载:http://d.download.csdn.net/down/3443739/tacitame

源码下载:http://download.csdn.net/source/3485867

下载需要点数,不过下载后发表一下评论,点数会返还,可以循环利用啦。

看了一下manning图书的价格,实体书是49.99美金,电子书居然是39.99美金!

http://www.manning.com/mostarda/

asp.net mvc3 范例 mvcmusicstore

1000行代码能写出什么应用?一个商城?没错。

地址:http://mvcmusicstore.codeplex.com/

 

ASP.NET中执行耗时操作的解决方案

从用户体验的角度考虑,我们设计的应用不应该要求用户长时间的等待。不过有时候为了实现特定的功能,本身就是耗时较长的操作,例如生成几十万个静态页面,或者向几万个用户发送邮件。

这种操作如果按照传统的做法,等待操作完毕再把结果响应到页面的话,不要说用户会失去耐心关闭网页,服务器也会不耐烦的响应一个“操作超时”。

在PHP中,这种任务可以使用socket调用的方式,简单的调用一下功能页面,让页面在服务器后台执行,前台直接告诉用户操作完成。

在ASP.NET中可以利用多线程方式来达到同样的目的。

网管管理中的耗时操作,往往又是重复性的操作。比如说生成静态页面,往往要周期性的重新生成一遍。这种任务,使用程序自动执行来完成更符合我们的要求。

在ASP.NET中使用多线程结合Global.aspx中的Application_Start()方法,就能实现类似windows计划任务的功能。从而实现0干预的管理。

在WEB应用程序中使用多线程执行任务,其环境跟普通的asp.net页面有一些不同。例如页面中的HttpContext在多线程程序中就不能正常使用。想使用这个对象怎么办呢?很简单,既然是对象,传过去就行了。

asp.net mvc3 中文版下载、安装包

先安装vs2010,再从这里下载两个文件包:

http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=d2928bc1-f48c-4e95-a064-2a455a22c8f6&displayLang=zh-cn

第一个是asp.net mvc3英文版安装包,第二个是中文语言包。一次安装这两个包就搞定了。如下图:

mvc3asp.net.jpg

asp.net 属性默认值 0001-01-01 00:00:00

碰到一个匪夷所思的问题。

定义一个string属性。例如:

string key{get;set;}

实例化该类,对该属性进行一些操作:

myobj.key.Empty() == true?

myobj.key.IsDateTime == true?

Convert.ToDateTime(myobj.key) == 0001-01-01 00:00:00?

以上操作都成立。

然而,加入这样:

string s = string.Empty;

or 这样:

string s = "";

情况就不一样了。

结论,神奇的属性默认值。

参考链接:http://www.cftea.com/c/2010/12/HWCB70F26T40L25P.asp

据说:

C# 3.0 { get; set; } 默认值

这就不得不说 { get; set; } 的默认值了,因为不存在了私有自段,我们无法人工指定默认值了,那么系统的默认值是什么呢?

  • 对于 int 类型,默认值是 0;
  • 对于 string 类型,默认值是 null;
  • 对于 DateTime 类型,默认值是 0001-01-01 00:00:00;
  • 对于 enum 类型,默认值是值为 0 的项,如果不存在 0 的 enum 项,它仍然是 0。相关内容可参见:C# 枚举(enum)。
  • 对于 class 类型,默认值是未实例化的对象引用。

TimeStamp和DateTime互转

C# 中的 DateTime 值类型表示值范围在公元(基督纪元)0001 年 1 月 1 日午夜 12:00:00 到公元 (C.E.) 9999 年 12 月 31 日晚上 11:59:59 之间的日期和时间;而 Unix 的时间戳则表示的是自从 Unix 纪元(格林威治时间 1970 年 1 月 1 日 00:00:00)到当前时间的秒数。 C# 中似乎并没有内置的方法来完成两者之间的转换。

其实,通过TimeSpan类可以轻易取得TimeStamp,或逆向处理。

TimeStamp是一段时间,TimeSpan也是一段时间,只不过TimeSpan是毫秒,而TimeStamp是以秒为单位罢了。可以使用TimeSpan.TotalSeconds将之转为TimeStamp.

例程:

using System;   
  
namespace zeal.util   
{   
    
public class unixTimestamp   
    {   
        
protected static readonly DateTime unixTPStart =   
            TimeZone.CurrentTimeZone.ToLocalTime(
new DateTime(197011));   
        
public static long toUTP(DateTime dt)   
        {   
            TimeSpan toNow 
= dt.Subtract(unixTPStart);   
            
return (long)Math.Round(toNow.TotalSeconds);   
        }   
        
public static DateTime fromUTP(long tp)   
        {   
            
return unixTPStart.Add(new TimeSpan(tp * 10000000));   
        }   
    }   
}   

来原:http://www.zeali.net/entry/496

公告栏

  • 姓名:林剑锋(不见不散)
  • 来自:中国-广州
  • 简介:潮汕人,出生于广东揭西。醉心于Web开发8年,挑战了一年整体策划和网站运营。目前就职于平成混媒IT部。
  • Email/QQ:admin@ljf.cn

QQ群:设计学院 68075618,网站设计师 9908776

统计

文章:335篇
评论:163条 (2条Spam)
相册:1个 (120张图片)
主题:Nagrand新主题

www.ljf.cn网站PR查询