C#
sxf359
这个作者很懒,什么都没留下…
展开
-
如何在父页面获取用户控件中的某个变量值
原来的实现方法:父页面aspx:protected void Page_Load(object sender, EventArgs e) { try { if (!IsPostBack) { InitPage(); LoadData(); //Response.Write("<h3>首次加载<...原创 2021-07-30 11:39:38 · 936 阅读 · 0 评论 -
datatable类型数据按中文排序结果不准确问题的解决
近日客户有需求要求页面按房号显示费用明细,并且要求每个房号要单独统计出小计,最后再显示总计。感觉这个问题不难,单独按每个房号进行了求和,然后加入datatable,又按房号进行排序。代码如下: var dv = dt3.DefaultView; dv.Sort = "rfullname ASC"; dgList.DataSource = dv; dgList.PageSize = 5000; dgLis.原创 2021-07-29 16:38:47 · 1232 阅读 · 0 评论 -
无法使用Directory.Delete(路径,true)删除目录及目录下的文件,提示System.IO.IOException: 目录不是空的
看到网上有两种说法导致此类情况,一说是Directory.Delete(路径,true)虽然微软对此方法的说明文档表示了只要第二个参数设置为true,就会删除指定的目录,并删除该目录中的所有子目录和文件,但实际上在某些情况下达不到此要求。需要使用遍历,删除子文件,然后再删除该文件夹。因为这个删除功能是在调用的一个webservice服务,这个webservice服务是另一家公司编写的,无法更改,而且此webservice服务在服务器上运行正常,从未出现此类错误。这种猜测是有疑问的。另一种说法,说在svn原创 2021-05-27 16:21:10 · 3298 阅读 · 0 评论 -
netcore webapi前端提交json类型数据到后端接口,后端接口获取到的数据始终是null
后端接口类型为: public JsonResult CorpsUpdate([FromBody] corps model)经过对提交的数据进行详细的比对,通过排除法,可以确定不是string类型的数据问题。也不是数字类型的数据问题。把目光对准时间类型的数据。由于使用的swagger做测试。对于时间类型的数据,我输入的数据为2020/6/7,然后我改为2020-6-7仍然在后端获取到的为null,后又改成2020-06-07,这次可以了,后端获取到了类型为corps的数据不再是null。而是提交的原创 2021-05-24 11:21:47 · 1031 阅读 · 0 评论 -
netcore webapi网站swagger接口界面支持注释
首先在services.AddSwaggerGen方法中增加如下代码: // 为 Swagger 设置xml文档注释路径 var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile); // 添加控制器层注释,true表示显示控制器注释 c.IncludeXmlComments(xmlPath,原创 2021-05-18 09:00:59 · 331 阅读 · 0 评论 -
服务端调用另一个netcore webapi服务的实现
这个的实现方法与webservice调用的方法完全不同。服务端调用webservice服务,使用的是system.net的webclient类的操作方法实现。而netcore webapi的调用使用的是system.net.http来实现要调用的netcore webapi方法如下:[AllowAnonymous] [HttpPost] [Route("")] public JsonResult ValidateUser([FromBody] .原创 2021-05-06 17:39:09 · 959 阅读 · 0 评论 -
vscode高亮选中单词的颜色
在visual studio上使用高亮颜色插件使用习惯了。就是使用绿底白字插件。但是在vscode中的相应插件,不知道是怎么回事,我家里电脑上起作用,但是公司电脑上安装相应的插件,死活不起作用。而vscode默认的高亮显示背景色和前景色对比不太明显。尝试更改了多次,都不怎么有效。今天终于找到个有效的。打开vscode的设置项。搜索workbench.colorCustomizations,然后打开settings.json设置文件。添加相应的设置如下:"workbench.colorCustomizat原创 2021-03-31 09:04:26 · 4058 阅读 · 1 评论 -
如何使VS-QuickNavigation插件可以支持vs2019版本
工欲善其事必先利其器,在visual studio开发过程中,一些好用的插件能够大大的简化开发要做的工作。比如VS-QuickNavigation这个插件,在知道文件名的情况下,快速定位并打开文件的时候非常有用,这也是我vs2017必备的一个开发插件。但是遗憾的是这个插件只支持的vs2017,对于最新的vs2019,却没有支持,而且我等了很长时间,插件的开发者似乎忘记了,没有一点更新支持的想法。这两天没什么其他的事情。我就研究下如何使插件支持vs2019.首先去github.com网站用git clon原创 2020-06-08 03:04:56 · 382 阅读 · 0 评论 -
log4net日志实现按天存储相应的日志文件,日志文件超过一定大小则更改文件名在web.config中的配置
<log4net> <root> <level value="ALL" /> <appender-ref ref="RollingLogFileAppender" /> </root> <appender name="RollingLogFileAppender" type="log...原创 2020-04-30 11:56:39 · 1676 阅读 · 0 评论 -
如何使水晶报表导出pdf或者excel时,导出的pdf或者excel文档标题支持中文
这个问题困扰了我好久。如果在前端的aspx的水晶报表控件中直接设置 <CR:CrystalReportViewer ID="消费报表" runat="server" PrintMode="ActiveX" ReuseParameterValuesOnRefresh="True" ShowAllPageIds="True" HasCryst...原创 2020-03-24 15:55:18 · 373 阅读 · 0 评论 -
水晶报表使用参数字段在报表中显示打印的开始和结束日期及操作员等
此种需求由于是通用需求,无需在传递的datatable中来实现。使用参数字段来实现更加方便。使用参数字段需要注意几点。第一点,在水晶报表的设计界面要创建相应的参数字段。我使用的有三个参数字段。分别是@startdate,@enddate,@operator第二,程序中的代码实现:#region 水晶报表添加参数字段 开始日期 结束日期 操作员 ...原创 2019-12-01 16:11:36 · 653 阅读 · 0 评论 -
水晶报表开卡,补卡等次数求和始终为1的问题解决
近日在开发一个水晶报表的时候突然发现有关次数的求和都是1,无论这个次数是0,或者是多条记录,次数累计是大于1的数都是1。而有关金额的求和却都是正确的。觉得很奇怪,这水晶报表的求和公式这还第一次出现这种情况。经过反复比对,发觉一直为1的都是从数据库中读取的数据为字符串格式的。正确的求和都是数值类型的。经过审查sql语句,金额类型的计算使用的都是sum求和的。次数类型的都是count计算的,这应该都是...原创 2019-12-01 15:16:33 · 217 阅读 · 0 评论 -
水晶报表点击打印或者导出时出现您请求的报表需要更多信息的解决
如图。这个问题网上出现最多的解决办法是提示要用推模式获取数据,不要使用拉模式。推模式就是应用程序自数据库获取数据源,然后再把数据推送个水晶报表引擎。检查我的数据获取方式。符合这个。水晶报表是自创建的datatable数据集中获取数据。而应用程序获取的数据以datatable形式通过rptdoc.SetDataSource(dt);方式赋个水晶报表。网上其他的方法就没一个说到点子上的...原创 2019-11-27 21:25:10 · 345 阅读 · 0 评论 -
对于具体化的查询结果,不支持该方法
MVC的cshtml 自controller的 return view 中传来了CustomerViewModel 类。在此类中定义了一个回访任务列表,里面会有很多记录。public IQueryable CustomerReviewViewCollection { get; set; }而我需要在列表中显示CustomerReviewViewCollection 这个属性字段最近一条记原创 2017-08-04 11:06:05 · 555 阅读 · 0 评论 -
自写过滤器替代ValidateAntiForgeryToken解决asp.net mvc关于提供的防伪标记适用于其他基于声明的用户,而不适用于当前用户的错误
以前写过一篇 asp.net mvc关于提供的防伪标记适用于其他基于声明的用户,而不适用于当前用户错误的处理 的博文,在那篇博文最后留下了遗憾,在那篇博文中自定义的过滤器需要在action 中调用两次,才能避免出现关于提供的防伪标记适用于其他基于声明的用户,而不适用于当前用户这样的错误提示。调用的代码是这样的:[HttpPost][AllowAnonymous][LoginAuthoriz原创 2017-09-03 18:15:28 · 5286 阅读 · 2 评论 -
System.Web.Helpers所在位置
打算定制一个ValidateAntiForgeryToken ,在写当中要以系统自有的 ValidateAntiForgeryTokenAttribute.cs 为蓝本来写,在写的过程当中要引用using System.Web.Helpers;但多次尝试,却不知道应该引用哪个程序集。后来终于找到所在的程序集:命名空间: System.Web.Helpers程序集: System原创 2017-09-03 16:05:35 · 6438 阅读 · 0 评论 -
通过淘宝的ip地址库获取ip地址通用类的实现(C#版)
/// /// 通过淘宝提供的接口查询IP所属地区,ip地址库只能精确到市一级。县级的统一归到市一级 /// public class IPQueryByTaobao { private string url = "http://ip.taobao.com/service/getIpInfo.php?ip="; public T原创 2017-09-10 16:27:28 · 2147 阅读 · 0 评论 -
application Initialization设置导致处理程序ExtensionlessUrlHandler-Integrated-4.0在其模块列表中有一个错误模块问题的解决
近几天,本地电脑的一个网站每次编译后都会出现如下错误:HTTP 错误 500.21 - Internal Server Error处理程序“ExtensionlessUrlHandler-Integrated-4.0”在其模块列表中有一个错误模块“ManagedPipelineHandler”原创 2017-07-28 11:41:44 · 32428 阅读 · 4 评论 -
一例并发导致网站cpu 占用100% 的处理
最近在早上更新公司网站的客户管理系统的程序代码,更新过后对网站的页面进行了简单的访问测试,都正常,没有问题。就没在管。可是过了会,有人反映网站打开很慢。我于是赶快检查,确实很慢,半天打不开。然后用远程桌面打开服务器,也是很慢,过了好一会才进到服务器,打开任务管理器,发觉客户管理系统所在的进程w3wp.exe cpu占用高达100% 。观察了一会,一直如此,因为并不清楚问题所在,但是这个问题必须马上原创 2017-08-11 08:33:25 · 5957 阅读 · 0 评论 -
asp.net mvc当出现错误时如何实现友好错误提示
前两天刚写过一篇asp.net mvc实现 错误异常记录功能的实现。考虑到在我以前的 webform 项目中是有当出现500 错误时有友好提示功能的,也打算在 MVC 中实现此功能。在我的 LogExceptionAttribute 类的 OnException 方法中增加以下代码: //通知MVC框架,现在这个异常已经被我处理掉,你不需要将黄页显示给用户 filterContext.E原创 2017-08-31 11:27:48 · 3330 阅读 · 2 评论 -
第一次使用MongoDB 插入记录遇到的问题
这里使用的是MongoDB .NET Driver,在github中名字是mongo-csharp-driver ,如何安装到项目里这里就不说了。首先创建公用连接及获取集合的方法:public static class DBHelper { //创建全局唯一连接 private static MongoClient Client =原创 2017-08-30 17:16:49 · 1236 阅读 · 0 评论 -
vs.net第一行的@ page命令行破折号提示警告信息没有为扩展名“.aspx”注册的生成提供程序
警告 1 F:\NiuMai\Seller.nbbuy.com\SellerWeb\Test.aspx: ASP.NET 运行时错误: 没有为扩展名“.aspx”注册的生成提供程序。可以在 machine.config 或 web.config 中的 节注册一个。请确保所注册的提供程序具有包含值“Web”或“All”的 BuildProviderAppliesToAttribute 特性。原创 2017-09-16 09:46:32 · 1453 阅读 · 0 评论 -
无法复制文件“XXX\packages\ZeroMQ.4.1.0.22\build\i386\libsodium.so”,原因是找不到该文件
这个ZeroMQ是一个消息队列组件,只是在应用到项目中时遇到了不能解决的问题,最后放弃,把其换为了RabbitMQ。但是,在公司的电脑的项目文件夹的bin目录下始终存在两个目录amd64及i386文件夹,并且下面有关于zeromq 的相关dll 文件,在公司几经折腾,删掉了所有项目的引用,并且删除了packages 文件夹下自nuget 下载下的zeromq组件源文件。不会出错,但bin 文件夹下原创 2017-09-23 09:07:31 · 1829 阅读 · 0 评论 -
.net MVC中实现MongoDB按照 _id 值删除单条记录
[HttpPost] public JsonResult DeleteAdminLog(string id = "") { var filter = Builders.Filter.Eq("_id", new ObjectId(id)); var collection = DBHelper.GetCollection(原创 2017-09-07 10:14:07 · 882 阅读 · 0 评论 -
asp.net mvc实现 错误异常记录功能
创建LogExceptionAttribute 类,继承HandleErrorAttribute 错误异常过滤器using System;using System.Web.Mvc;namespace SXF.Utils.MVC{ /// /// 错误日志记录 /// [AttributeUsage(AttributeTargets.Class, In原创 2017-08-29 09:39:43 · 476 阅读 · 0 评论 -
在MVC中实现MongoDB的分页查询
首先确定的是MongoDB的BsonDocument结构:var document = new BsonDocument { {"UserName",user.UserName }, {"LoginIp",RequestHelper.GetIP() },原创 2017-09-05 15:49:19 · 356 阅读 · 0 评论 -
C# foreach 中获取索引index方法的补充
foreach循环获取索引方法有时是需要的。在网上找到的无一例外是这个:方法一:int i = 0;foreach (var item in arr){ i++;} 方法二:原创 2017-10-19 15:57:23 · 17318 阅读 · 1 评论 -
EF延迟加载机制导致的更新数据的时候有的更新有的没更新问题的解决
最近在处理一个问题的时候遇到了EF延迟加载导致的问题。我有一组任务,任务数量不固定,要分配给组员,组员数量也不固定。分配的时候原则上是平均分配,但是实际中肯定有多余的,这多余的会分配给最后一个组员。代码是这样写的:var query = new TaskService().Get(m => m.TaskMainIID == dto.taskmainiid && m.Director == Ad原创 2017-10-20 11:12:49 · 1098 阅读 · 0 评论 -
一例对一个或多个实体的验证失败。有关详细信息,请参阅“EntityValidationErrors”属性的解决
这个问题相信只要是做MVC的,都碰到过,也都知道错误的原因,就是触发了定义的实例字段校验规则。比如定义的不为空,但是为空了,或者定义的字段长度为50,但是超过50了。可是有时虽然知道是这样,但是具体问题解决的时候还是无从下手。我最近就碰到一个,知道是在更新某个表的时候出现的这个问题。可是在本地无法具现此错误,这个错误是在特定条件发生的,我并不知道此特定发生条件是什么,很郁闷。在网上找了下,原创 2017-02-07 17:19:50 · 24013 阅读 · 0 评论 -
未能找到元数据文件”xxx.dll”
网上说的有两种情况,第一种,没有添加相应的dll引用造成。因为我生成的是项目自身,所以此种情况可以排除第二种情况,存在此文件,但是加载路径不对,我这里不是引用,没检查这个,但是我检查了生成文件的路径,这个没问题。是bin/release 。这种情况也排除了突然发现项目文件的net框架是4.5.2,但我的其他项目都是4.7.2框架,会不会是这里的问题。更改框架,然后重新编译,这次成功...原创 2019-08-30 09:16:51 · 1662 阅读 · 1 评论 -
visual studio relase编译模式与debug编译模式的不同
rease编译模式没勾选的那个是debug编译时需要勾选的运行不安全代码则是为了引用外部非c#代码的需要优化代码则是为了使代码执行效率更高若是要不出现pdb格式的文件,则需要在高级中调试信息一栏把仅pdb改为无debug编译模式则是勾选了定义debug常量,而没有勾选允许不安全代码和优化代码两项...原创 2019-08-21 13:11:46 · 460 阅读 · 0 评论 -
ORA-01008: 并非所有变量都已绑定
oracle提示,并非所有变量都已绑定。sql语句很长很长,我就不贴出来了。经过仔细分析,感觉应该是传入sql的变量没有在sql语句中对应上相应参数造成。但是分析,大部分的传入参数都是等于方式。比如像这样:oracle语句: where rcc.customerunitcode = :customerunitcodevalue而相应的oracle参数是这样: parlist.Add(ne...原创 2019-07-29 14:59:00 · 6787 阅读 · 0 评论 -
PLS-00306: 调用 PROC_***_TERM 时参数个数或类型错误
这是C#调用oracle的连接驱动Oracle.ManagedDataAccess.dll出现的调用存储过程报的错误。这个我花费了一天多的时间才终于找到错误的原因,中间仔细的检查了参数的个数,以及各参数的类型,都没有问题,后来又按照网上说的按存储过程的参数出现顺序来写oracle的参数,仍然没有解决。后来又换了一个存储过程,调试另一个,出的问题是Oracle.ManagedDataAccess, ...原创 2019-07-18 19:58:41 · 1657 阅读 · 0 评论 -
C#调用oracle存储过程出现ORA-06502: PL/SQL: 数字或值错误 : 字符到数值的转换错误
出现这个的原因是使用Oracle.ManagedDataAccess.dll作为数据库的连接驱动后,存储过程参数在C#中写的顺序必须严格按照oracle存储过程的先后次序来写。差一点都不行。这个和使用微软提供的system.data.oracleclient不同,使用这个不需按照oracle存储过程的参数先后顺序来写,只需参数名不写错就成。只是可惜的是使用system.data.oraclecli...原创 2019-07-18 19:46:35 · 1870 阅读 · 1 评论 -
iis提示另一个程序正在使用此文件,进程无法访问。(异常来自HRESULT:0x80070020)
解决办法:打开cmd使用netstat命令查看相应的端口被哪个程序占用,我的被占用的端口是10011,因此查询命令这样写netstat -an|findstr 10011查出占用的进程后根据pid结束相应的进程就能解决此问题...原创 2019-07-16 08:52:26 · 2427 阅读 · 0 评论 -
未能加载文件或程序集“Microsoft.ReportViewer.ProcessingObjectModel, Version=10.0.0.0, Culture=neutral, PublicKe
An error occurred during local report processing. The definition of the report 'D:\IIS\BusSystemOnline\ManageCenter\report\DataAnalysis\ReportFile\AgeAnalyseReport.rdlc' is invalid....原创 2019-07-08 14:25:21 · 2230 阅读 · 0 评论 -
两datatable数据集关联,实现inner join或left join效果
今日遇到一个开发任务,是两个查询出的datatable,要像sql左关联查询,读取左边datatable所有列及dt2的列DeliveryMode想到的第一种方法是在dbData中增加一列,然后循环dbData,再自dt2中读取相应值然后赋值到新加的列中。实现方法如下:System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatc...原创 2018-07-07 10:37:13 · 5286 阅读 · 0 评论 -
一例System.Data.SqlClient.SqlException: 对象名 'dbo.users' 无效问题的解决
在Dbcontext的继承类中发现这个定义:public virtual DbSet users { get; set; }这个说明了context的users,注意这里后缀有一个s,它与数据库表user对应。因为这个在以前一直是好好的。从来没有出过错误。只是最近对对visual studio做了次更新导致的。想返回原来的vs版本也不可能。只能想办法解决。通过比较出错项目,原创 2017-11-20 16:34:37 · 21113 阅读 · 2 评论 -
一例Unable to determine composite primary key ordering for type错误的解决
Unable to determine composite primary key ordering for type 'Rztong.Entity.dtproperty'. Use the ColumnAttribute (see http://go.microsoft.com/fwlink/?LinkId=386388) or the HasKey method (see http://go.原创 2017-11-20 16:27:59 · 1988 阅读 · 0 评论 -
excel表导入数据库每次都少导入一条问题的解决
今天用我写的excel导入数据库程序进行导入的时候突然发现,每次都少导入一条,excel表是6条数据,可是数据库中只有5条。反复多次测试都是如此。以前没这个情况啊。输出导入数据的总数,想从这里发现问题。可是输出是53,而不是6条,也不是5条。分析应该是中间excel表的数据被删除过造成。又输出excel的表名。Sheet1#,这也正确。最后经过几次详细测试,发觉都是第一行没导入。心里一动,会不原创 2017-10-20 15:19:13 · 4359 阅读 · 1 评论