http://www.codesnippet.info/ 建站技术备忘录_html/css_WEB
网站开发中技术问题的笔记JavascriptBUG思考
关于QQ OAuth关于审核的问题,
以下经验基于 MVC 5.2.3ReSharp之后的问题使用了ReSharp的移除没有使用(Remove Unused Reference)的引用之后,Package项目配置文件中的一些Item会被删除掉,在项目发布的时候一些动态链接库不会被发布到BIN目录下面,导致以下这样的问题 未能加载文件或程序集“Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。系统找不到指定的文件。
所以一般建议在使用ReSharp之前将项目进行CheckIn,如果出现特殊情况则执行Redo即可。(具体配置文件:packages.config) HttpRequestValidationException:由于安全上的原因,Asp.net中QueryString等不允许出现<> 这样的字符如果你确认的确需要跳过安全验证,里面最简单的解决方法是使用Unvalidated版本 string strArticalID = context.Request.Unvalidated.Form["ArticalID"]; Debug版本的时候,VS无法察看很多变量的值,例如Ajax调用ASHX如果出现多个控制器的时候,可能是因为你的BIN目录没有删除干净,有一个过期的,以前版本的DLL导致的Asp.net MVC在运行的时候,会将所有Bin下面的DLL进行解析,如果有一个旧的DLL,例如是改名前的DLL残留在Bin目录中,则会出现多个同名控制器的问题。(在VS中怎么检查都不会发现这个问题的!) 如何设定启动Areas?参见RouteConfig的编写,这里可以指定默认的Area,写法必须严格按照例子.Home_Default这个路由名字不要使用(可能系统会默认注册这个名字)(错误信息:路由集合中已存在名为“Home_default”的路由。路由名称必须唯一。) View的Layout如果不指定Layout,默认使用 Views/Shared/_Layout(_ViewStart.cshtml) 类似于React的组件,可以使用DisplayFor来显示组件组件放在Shared/DisplayTemplate/ 下面 px 不能省略,RenderBody() 需要CSS3规范的Style加上去的话,类名称必须区分大小写,写错则不能识别这是个浏览器兼容性的话题。有时候你会发现HTML的Class名称大小写写错了,样式也会生效,这是因为你没有加上 DOCTYPE 这个TAG。如果加上之后,则类名称不允许忽略大小写。 Area名称不要使用实体名称,或者其它类的名称,不然需要名字空间前缀修改Area名称后注意各处名字空间的统一 每个Area的webConfig里面,可以添加默认名字空间GET方法如果有参数,则如果需要对应可空的情况,可以使用参数默认值public ActionResult Index(int PageNo = 1) *如果同时存在 没有参数和带参数的,会报错。可选参数倒没有问题。。。 Controller里面设置过 ViewBag.XXXX,如果在之前使用过Model.XXXX,则ViewBag.XXXX变为Model.XXXX$ajax的变体可以使用 $.post来简化Post操作 ASHX里面如何使用Session添加 IRequiresSessionState 接口即可 public class PublishPost : IHttpHandler, IRequiresSessionState 如何用 Href 实现Post注意 forms的下标注意 POST方法必须写明 接受 Javascript操作DOM的Style,属性是直接使用的,不是“xxx:xxx”document.getElementById("ReplySubmit_" + PreViewReplyId).style.display = "none"; Bootstrap的btn-primary 可能有Submit的功能!!!Bootstrap的btn-primary 可能有Submit的功能(待验证) 使用过的FileStream可能被清空,注意位置和长度许多对于Stream的操作都会导致流的位置到EOS,或者整个流的被使用完了(无法复用?) MvcHtmlString 命令页面生成器不要再次转换字符串了,不然的话,空格等特殊字符将被模板系统自动转换Jquery Wrap,可以给元素增加父元素。。。。。强大啊。。。 $(document).ready(function () { $(".PostBody img").wrap( function () { var filepath = this.src; var imagefilename = filepath.substring(_urlstr.length + "/FileSystem/Thumbnail?filename=".length) @{ string Image = ConfigurationManager.AppSettings["Image"]; string jsCode = string.Empty; if (Image == "QiNiu") { jsCode = "filepath = '" + @ConfigurationManager.AppSettings["URLBASE"] + "' + imagefilename;"; }else { jsCode = "filepath = '/FileSystem/Image?filename=' + imagefilename;"; } } @MvcHtmlString.Create(jsCode) //原图是外部连接的处理 if (this.src.indexOf("/FileSystem/Thumbnail") == -1){ if (this.src.indexOf("@ConfigurationManager.AppSettings["URLBASE"]") == -1){ filepath = this.src; } } return "" } ); C# && Mongo可以使用转换规则将DateTime变成Local,不用特性使用特性: /// 使用转换规则 BsonSerializer.RegisterSerializer(typeof(DateTime), new DateTimeSerializer(DateTimeKind.Local)); 可以使用IgnoreIfNullConvention,则空数据不序列化,也可以IgnoreExtraElementsConvention忽略数据中有,但是数据模型中没有的字段。例如数据模型改名之后,数据库里面的残留字段。 pack.Add(new IgnoreExtraElementsConvention(true)); pack.Add(new IgnoreIfNullConvention(true)); 属性和静态变量的区别属性,公共变量 序列化 静态变量,const 不序列化 可以尝试类的嵌套,可以正常序列化快速JSONusing Newtonsoft.Json;var result = new{ success = 1, message = "提示的信息,上传成功或上传失败及错误信息等。", url = filename};string json = JsonConvert.SerializeObject(result);context.Response.Write(json); HttpPostedFileWrappernew HttpPostedFileWrapper(file) as HttpPostedFileBase 使用动态对象快速反序列dynamic obj = JsonConvert.DeserializeObject(sr.ReadToEnd()); 图片放大方案MongoDB Query.EQ可以用来查找列表中是否有数据IMongoQuery tagNameQuery = Query.EQ(nameof(TagName),tag); Distinct对于数组的处理,是拆开数组项目,进行Distinct!!!!使用In表示两个数组是否存在交集(因为In的相等,对于数组是拆开判断的) Great LinqLinq可以做很多强大的工作 x.GroupBy((article) => article.OwnerId).Select(group => new { ownerId = group.Key, Count = group.Count() }); Web(ASHX)服务改名:修改名字的时候,需要同时修改View MarkUp的代码 ActionResult 可以通过来设置缓存时间/// BSonDocument 转 ClassObjectBsonSerializer.Deserialize(doc) MongoDB暂时无法中文检索在Win平台,中文需要企业版的MongoDB原因是系统不知道如何进行分词,可以使用第三方的分词组件 MarkDown Editor(Pandao)研究http://pandao.github.io/editor.md/ Editor 的可配置项目打开源代码可以看到所有的可配置项目 需要添加font文件夹也必须,不然部分图标缺失 Convert MD To HTMLInstall-Package CommonMark.NET plugins图片上传等功能需要使用这个Plugins文件夹里面的插件 autofocus:false防止自动获得焦点,页面开始时候垂直位置不正确 对于错误的MD语法,该编辑器HTML预览的时候不会报错!!!浏览器兼容性问题Chromn 12px 字体变为 16px由于缩放问题造成的,CSS里面12px,如果缩放之后,系统还是维持原来的字体大小,整个字体在渲染的时候进行放大处理 本文将和 http://www.codesnippet.info/Article/Index?ArticleId=00000004 实时同步 |