您好,欢迎访问一九零五行业门户网

http://www.codesnippet.info/ 建站技术备忘录_html/css_WEB-ITnose

网站开发中技术问题的笔记 javascript bug思考 200 ok真的表示没有问题吗?有时候status 200作为webapi的返回值,并不表示真的ok,例如取得一个文件,没有取到,但是返回值也会是200。200只是表示一个webapi执行完毕,没有异常而已,并不表示肯定成功。
iis7.0 上传文件失败,返回404。乍一看是资源无法找到,其实是设定问题,上传文件的最大长度限制,还需要下面这样的配置。maxrequestlength很多文章都提到了,maxallowedcontentlength则很多文章没有提到。

encodeurl 不能转 ‘&’ 符号使用replace 将 ‘&’ 符号转成 ‘%26’。 关于qq oauth 关于审核的问题,
一定要在基础信息的协作者账号中追加 359884458
登陆后的页面上,一定要明显表示出登陆者的名称呢个
以下经验基于 mvc 5.2.3 resharp之后的问题 使用了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,不用特性 使用特性:
/// /// 创建时间 /// [bsondatetimeoptions(kind = datetimekind.local)] public datetime createdatetime;
使用转换规则
bsonserializer.registerserializer(typeof(datetime), new datetimeserializer(datetimekind.local));
可以使用ignoreifnullconvention,则空数据不序列化, 也可以ignoreextraelementsconvention忽略数据中有,但是数据模型中没有的字段。例如数据模型改名之后,数据库里面的残留字段。
pack.add(new ignoreextraelementsconvention(true)); pack.add(new ignoreifnullconvention(true));
属性和静态变量的区别 属性,公共变量 序列化 静态变量,const 不序列化
可以尝试类的嵌套,可以正常序列化 快速json using newtonsoft.json;var result = new{ success = 1, message = 提示的信息,上传成功或上传失败及错误信息等。, url = filename};string json = jsonconvert.serializeobject(result);context.response.write(json);
httppostedfilewrapper new 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 linq linq可以做很多强大的工作
x.groupby((article) => article.ownerid).select(group => new { ownerid = group.key, count = group.count() });
web(ashx)服务改名: 修改名字的时候,需要同时修改view markup的代码
actionresult 可以通过来设置缓存时间 /// /// 缩略图(jpeg) /// /// /// [outputcache(duration = int.maxvalue)] public actionresult thumbnail(string filename) { var stream = new memorystream(); string thumbnail = configurationmanager.appsettings[thumbnail]; switch (thumbnail) { case mongo: mongostorage.getfile(stream, filename, thumbnail); break; case filesystem: stream = filesystemstorage.getfile(filename, thumbnail); break; case qinue: //实际上这里直接使用qinue的url就可以了 stream = qiniustorage.getfile(filename); break; } return file(stream.toarray(), image/jpeg); }
bsondocument 转 classobject bsonserializer.deserialize(doc)
mongodb暂时无法中文检索在win平台,中文需要企业版的mongodb 原因是系统不知道如何进行分词,可以使用第三方的分词组件
markdown editor(pandao)研究 http://pandao.github.io/editor.md/
editor 的可配置项目 打开源代码可以看到所有的可配置项目
需要添加
font文件夹也必须,不然部分图标缺失
convert md to html install-package commonmark.net
plugins 图片上传等功能需要使用这个plugins文件夹里面的插件
autofocus:false 防止自动获得焦点,页面开始时候垂直位置不正确
对于错误的md语法,该编辑器html预览的时候不会报错!!! 浏览器兼容性问题 chromn 12px 字体变为 16px 由于缩放问题造成的,css里面12px,如果缩放之后,系统还是维持原来的字体大小,整个字体在渲染的时候进行放大处理
本文将和 http://www.codesnippet.info/article/index?articleid=00000004 实时同步
其它类似信息

推荐信息