首页
归档
留言
友链
广告合作
壁纸
更多
美女主播
Search
1
博瑞GE车机升级/降级
5,610 阅读
2
Mac打印机设置黑白打印
4,950 阅读
3
修改elementUI中el-table树形结构图标
4,895 阅读
4
Mac客户端添加腾讯企业邮箱方法
4,674 阅读
5
intelliJ Idea 2022.2.X破解
4,357 阅读
后端开发
HarmonyOS Next
Web前端
微信开发
开发辅助
App开发
数据库
随笔日记
登录
/
注册
Search
标签搜索
Spring Boot
Java
Vue
Spring Cloud
Mac
MyBatis
WordPress
MacOS
asp.net
Element UI
Nacos
.Net
Spring Cloud Alibaba
MySQL
Mybatis-Plus
Typecho
jQuery
Java Script
IntelliJ IDEA
微信小程序
Laughing
累计撰写
627
篇文章
累计收到
1,421
条评论
首页
栏目
后端开发
HarmonyOS Next
Web前端
微信开发
开发辅助
App开发
数据库
随笔日记
页面
归档
留言
友链
广告合作
壁纸
美女主播
搜索到
12
篇与
的结果
2018-12-08
AsEnumerable方法找不到
错误提示'System.Data.DataTable'不包含'AsEnumerable'的定义,并且找不到可接受类型为'System.Data.DataTable'的第一个参数的扩展方法'AsEnumerable'(是否缺少 using 指令或程序集引用?)解决添加引用'System.Data.DataSetExtensions'解决
2018年12月08日
1,045 阅读
0 评论
0 点赞
2018-03-10
Asp.Net实现图形验证码
平时我们使用验证码的情形还是非常多的,比如登陆界面、发送短信验证码等,现在新的验证方式也又很多,比如数学计算或者滑块等,这里我们仅仅介绍传统的图形验证码。修改web.config,设置图形验证码的位数 <appSettings> <add key="VerifyCodeNum" value="4"/> </appSettings> 生成图片公共类using System; using System.Collections.Generic; using System.Configuration; using System.Drawing; using System.Drawing.Imaging; using System.IO; using System.Linq; using System.Web; /// <summary> /// VerifyCode 的摘要说明 /// </summary> public class VerifyCode { public VerifyCode() { // // TODO: 在此处添加构造函数逻辑 // } /// <summary> /// 生成随机数 /// </summary> /// <returns></returns> public static string GetVerifyCode() { //获取系统配置的随机数的位数 int vCodeNum = Convert.ToInt32(ConfigurationManager.AppSettings["VerifyCodeNum"]); string vChar = "0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h,i,j,k,l,m,n,p" + ",q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,P,P,Q" + ",R,S,T,U,V,W,X,Y,Z"; string[] vArray = vChar.Split(','); string code = "";//产生的随机数 int temp = -1;//记录上次随机数值,尽量避避免生产几个一样的随机数 Random rand = new Random(); //采用一个简单的算法以保证生成随机数的不同 for (int i = 1; i < vCodeNum + 1; i++) { if (temp != -1) { rand = new Random(i * temp * unchecked((int)DateTime.Now.Ticks));//初始化随机类 } int t = rand.Next(61);//获取随机数 if (temp != -1 && temp == t) { return GetVerifyCode();//如果获取的随机数重复,则递归调用 } ttemp = t;//把本次产生的随机数记录起来 code += vArray[t];//随机数的位数加一 } return code; } /// <summary> /// 该方法是将生成的随机数写入图像文件 /// </summary> /// <param name="code">code是一个随机数</param> public static MemoryStream CreateImage(out string code) { code = GetVerifyCode(); Bitmap Img = null; Graphics g = null; MemoryStream ms = null; Random random = new Random(); //验证码颜色集合 Color[] c = { Color.Black, Color.Red, Color.DarkBlue, Color.Green, Color.Orange, Color.Brown, Color.DarkCyan, Color.Purple }; //验证码字体集合 string[] fonts = { "Verdana", "Microsoft Sans Serif", "Comic Sans MS", "Arial", "宋体" }; //定义图像的大小,生成图像的实例 Img = new Bitmap(((int)code.Length) * 16, 32); g = Graphics.FromImage(Img);//从Img对象生成新的Graphics对象 g.Clear(Color.White);//背景设为白色 //在随机位置画背景点 for (int i = 0; i < 100; i++) { int x = random.Next(Img.Width); int y = random.Next(Img.Height); g.DrawRectangle(new Pen(Color.LightGray, 0), x, y, 1, 1); } //验证码绘制在g中 for (int i = 0; i < code.Length; i++) { int cindex = random.Next(7);//随机颜色索引值 int findex = random.Next(5);//随机字体索引值 Font f = new Font(fonts[findex], 15, FontStyle.Bold);//字体 Brush b = new SolidBrush(c[cindex]);//颜色 int ii = 4; if ((i + 1) % 2 == 0)//控制验证码不在同一高度 { ii = 2; } g.DrawString(code.Substring(i, 1), f, b, 3 + (i * 12), ii);//绘制一个验证字符 } ms = new MemoryStream();//生成内存流对象 Img.Save(ms, ImageFormat.Jpeg);//将此图像以Png图像文件的格式保存到流中 //回收资源 g.Dispose(); Img.Dispose(); return ms; } } 新建一个页面VerifyCodeImage.aspx共前台调用using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class VerifyCodeImage : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { string verifyCode = String.Empty; MemoryStream memoryStream = VerifyCode.CreateImage(out verifyCode); Response.ContentType = "image/jpeg"; Response.Cookies.Add(new HttpCookie("VerifyCode", verifyCode)); Response.BinaryWrite(memoryStream.ToArray()); } }调用页面<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <asp:Content runat="server" ID="FeaturedContent" ContentPlaceHolderID="FeaturedContent"> <img src="/VerifyCodeImage.aspx" id="verifyCode"/> </asp:Content>实现验证实现验证也很简答,把验证码写入cookie,用户点击登陆的时候只需要与cookie的值进行比较即可。
2018年03月10日
1,087 阅读
0 评论
1 点赞
2018-03-10
使用Request获取浏览器以及操作系统信息
string name = Request.Browser.Browser; string type = Request.Browser.Type; string version = Request.Browser.Version; string os = Request.Browser.Platform; string isSupportFramework = Request.Browser.Frames.ToString(); string isSupportTable = Request.Browser.Tables.ToString(); string isSupportCookie = Request.Browser.Cookies.ToString(); string strInfo = name + "<br/>" + type + "<br/>" + version+"<br/>"+os+"<br/>"+isSupportFramework; Response.Write(strInfo);
2018年03月10日
1,283 阅读
0 评论
0 点赞
2018-03-10
由于先前已在此页中指定了另一种语言(或者由 CodeFile 特性暗示),因此无法使用“javascript”。
其实我没学过Asp.Net,之前一直都是html的,最近公司一直再用aspx的东西,所以特地学习以下。错误代码如下<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1.Default" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <script language="javascript" type="text/javascript" runat="server"> function btnRed_onClick() { form1.style.backgroundColor = "Red"; } </script> </head> <body> <form id="form1" runat="server"> <div> <input type="button" value="red" onclick="return btnRed_onClick()" /> </div> </form> </body> </html> 解决方法去掉<script language="javascript" type="text/javascript" runat="server">中的runat="server"因为<%@ Page Language="C#" CodeFile="Default.aspx.cs" Inherits="_Default" %>指定了在服务器端执行的是C#语言,<script language="javascript" type="text/javascript" runat="server">想在服务器端执行,显然是不行的。
2018年03月10日
1,113 阅读
0 评论
0 点赞
2018-03-09
C#创建IIS站点
利用IIS7自带类库管理IIS现在变的更强大更方便,而完全可以不需要用DirecotryEntry这个类了(网上很多.net管理iis6.0的文章都用到了DirecotryEntry这个类 ),Microsoft.Web.Administration.dll位于IIS的目录(%WinDir%\System32\InetSrv)下,使用时需要引用,它基本上可以管理IIS7的各项配置。这个类库的主体结构如下:前端代码 <%@ Page Title="IIS管理" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Manager.aspx.cs" Inherits="IISManager.Ide.Net.Cn.Manager" %> <asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server"> <h2><%:Page.Title %></h2> <asp:Panel CssClass="panel panel-default" runat="server"> <div class="panel-body"> <asp:Label runat="server" CssClass="control-label">网站IP</asp:Label><asp:TextBox CssClass="form-control" Width="100%" runat="server" ID="txtIP" ClientIDMode="Static" ToolTip="网站名称">localhost</asp:TextBox> <br /> <asp:Label runat="server" CssClass="control-label">网站名称</asp:Label><asp:TextBox CssClass="form-control" Width="100%" runat="server" ID="txtSiteName" ClientIDMode="Static" ToolTip="网站名称">test</asp:TextBox> <br /> <asp:Label runat="server" CssClass="control-label">物理路径</asp:Label><asp:TextBox CssClass="form-control" Width="100%" runat="server" ID="txtPath" ClientIDMode="Static" ToolTip="网站路径">c:\test</asp:TextBox> <br /> <asp:Label runat="server" CssClass="control-label">端口</asp:Label><asp:TextBox CssClass="form-control" Width="100%" runat="server" ID="txtPort" ClientIDMode="Static" ToolTip="网站端口">1234</asp:TextBox> <br /> <asp:Button ID="btnAdd" EnableViewState="false" UseSubmitBehavior="false" runat="server" Text="提交" CssClass="btn btn-default" OnClick="btnAdd_Click"></asp:Button> </div> </asp:Panel> </asp:Content>后台代码using Microsoft.Web.Administration; using System; using System.Collections.Generic; using System.Configuration; using System.IO; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace IISManager.Ide.Net.Cn { public partial class Manager : Page { string ip = string.Empty; protected void Page_Load(object sender, EventArgs e) { if (!ConfigurationManager.AppSettings.AllKeys.Contains("IP")) { Response.Write("<script>alert('config文件配置不正确')</script>"); Response.Write(" <script> window.close(); </script> "); return; } ip = ConfigurationManager.AppSettings["IP"]; if (string.IsNullOrEmpty(ip)) { Response.Write("<script>alert('请配置IP地址')</script>"); Response.Write(" <script> window.close(); </script> "); return; } } protected void btnAdd_Click(object sender, EventArgs e) { try { string siteName = txtSiteName.Text.Trim(); int port = Convert.ToInt32(txtPort.Text.Trim()); string path = txtPath.Text.Trim(); FileInfo fi = new FileInfo(path); if ((fi.Attributes & FileAttributes.Directory) != 0) { } else { Response.Write("<script>alert('文件路径无效')</script>"); } ServerManager sm = ServerManager.OpenRemote(this.txtIP.Text.Trim()); //创建应用程序池 //先检测是否存在,如果存在不进行操作 //如果创建的应用程序池已经存在,系统不会进行创建 ApplicationPool appPool = sm.ApplicationPools.FirstOrDefault(x => x.Name == siteName); if (appPool != null) { sm.ApplicationPools.Remove(appPool); } appPool = sm.ApplicationPools.Add(siteName); appPool.AutoStart = true;//是否自动启动,true代表创建完成后自动启动 appPool.Enable32BitAppOnWin64 = false;//启动32位支持 appPool.ManagedPipelineMode = ManagedPipelineMode.Integrated;//托管管道模式Integrated = 0, Classic = 1 appPool.ManagedRuntimeVersion = "v4.0";//版本 appPool.QueueLength = 10000;//队列长度,如果操作限制将显示503 appPool.Recycling.PeriodicRestart.Time = new TimeSpan(0, 5, 0);//固定回收时间 appPool.ProcessModel.IdleTimeout = new TimeSpan(0, 5, 0);//5分钟闲置超时 appPool.ProcessModel.MaxProcesses = 1;//最大进程数 appPool.ProcessModel.PingingEnabled = true;//是否允许ping appPool.ProcessModel.PingInterval = new TimeSpan(0, 0, 40);//ping间隔 appPool.ProcessModel.PingResponseTime = new TimeSpan(0, 0, 10);//ping最大相应时间 10秒 appPool.ProcessModel.ShutdownTimeLimit = new TimeSpan(0, 0, 50);//关闭时间限制 appPool.ProcessModel.StartupTimeLimit = new TimeSpan(0, 0, 50);//启动时间限制 //创建站点 Site site = sm.Sites.FirstOrDefault(x => x.Name == siteName); if (site != null) { sm.Sites.Remove(site); } site = sm.Sites.Add(siteName, path, port); site.ServerAutoStart = true;//自动启动 Application root = site.Applications["/"]; root.ApplicationPoolName = appPool.Name;//设置应用程序池 site.Bindings[0].EndPoint.Port = port;//终点端口号 site.Limits.MaxBandwidth = 2000000;//最大带宽 site.Limits.MaxConnections = 1000;//最大连接数 site.LogFile.Directory = path + "\\log";//日志文件路径 site.LogFile.Enabled = true;//开启日志 site.LogFile.LogExtFileFlags = LogExtFileFlags.Date;//日志文件形式 site.LogFile.LogFormat = LogFormat.Custom;//日志格式 site.LogFile.Period = LoggingRolloverPeriod.Hourly;//日志文件记录时间间隔 site.LogFile.TruncateSize = 1048577;//日志文件截取大小 site.TraceFailedRequestsLogging.MaxLogFiles = 100;//失败请求最大跟踪日志数量 site.TraceFailedRequestsLogging.Directory = path + "\\tracelog";//失败请求日志路径 site.TraceFailedRequestsLogging.Enabled = true;//启用失败请求跟踪 //site.SetAttributeValue("preloadEnabled", true);//启用预加载 sm.CommitChanges(); Response.Write("<script>alert('创建成功')</script>"); } catch (Exception ex) { Response.Write("<script>alert('创建失败,请检查输入先是否正确')</script>"); } } } }配置文件<?xml version="1.0"?> <!-- 有关如何配置 ASP.NET 应用程序的详细信息,请访问 https://go.microsoft.com/fwlink/?LinkId=169433 --> <configuration> <!-- 有关 web.config 更改的说明,请参见 http://go.microsoft.com/fwlink/?LinkId=235367。 可在 <httpRuntime> 标记上设置以下特性。 <system.Web> <httpRuntime targetFramework="4.6.1" /> </system.Web> --> <appSettings> <add key="SiteName" value="IIS管理系统"/> <add key="IP" value="58.87.77.174"/> </appSettings> <system.web> <identity impersonate="true" userName="administrator" password="123456"/> <compilation debug="true" targetFramework="4.6.1"/> <httpRuntime/> <pages controlRenderingCompatibilityVersion="4.0"> <namespaces> <add namespace="System.Web.Optimization"/> </namespaces> <controls> <add assembly="Microsoft.AspNet.Web.Optimization.WebForms" namespace="Microsoft.AspNet.Web.Optimization.WebForms" tagPrefix="webopt"/> </controls> </pages> <httpModules> <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web"/> </httpModules> </system.web> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed"/> <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0"/> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="WebGrease" culture="neutral" publicKeyToken="31bf3856ad364e35"/> <bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234"/> </dependentAssembly> </assemblyBinding> </runtime> <system.webServer> <validation validateIntegratedModeConfiguration="false"/> <modules> <remove name="ApplicationInsightsWebTracking"/> <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" preCondition="managedHandler"/> </modules> </system.webServer> <system.codedom> <compilers> <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.7.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701"/> <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.7.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:41008 /define:_MYTYPE=\"Web\" /optionInfer+"/> </compilers> </system.codedom> </configuration>温馨提示配置文件主要是identity节点,配置登陆用户
2018年03月09日
1,341 阅读
0 评论
1 点赞
2018-01-18
JavaScript结合.Net实现base64加、解密
主要解决问题,客户端通过utf8进行base64加密后,将加密后的信息传送到服务端,服务端对加密后的信息进行解密,获取明文。JavaScript加密、解密代码function Base64() { // private property _keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/="; // public method for encoding this.encode = function(input) { var output = ""; var chr1, chr2, chr3, enc1, enc2, enc3, enc4; var i = 0; input = _utf8_encode(input); while (i < input.length) { chr1 = input.charCodeAt(i++); chr2 = input.charCodeAt(i++); chr3 = input.charCodeAt(i++); enc1 = chr1 >> 2; enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); enc4 = chr3 & 63; if (isNaN(chr2)) { enc3 = enc4 = 64; } else if (isNaN(chr3)) { enc4 = 64; } output = output + _keyStr.charAt(enc1) + _keyStr.charAt(enc2) + _keyStr.charAt(enc3) + _keyStr.charAt(enc4); } return output; } // public method for decoding this.decode = function(input) { var output = ""; var chr1, chr2, chr3; var enc1, enc2, enc3, enc4; var i = 0; input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); while (i < input.length) { enc1 = _keyStr.indexOf(input.charAt(i++)); enc2 = _keyStr.indexOf(input.charAt(i++)); enc3 = _keyStr.indexOf(input.charAt(i++)); enc4 = _keyStr.indexOf(input.charAt(i++)); chr1 = (enc1 << 2) | (enc2 >> 4); chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); chr3 = ((enc3 & 3) << 6) | enc4; output = output + String.fromCharCode(chr1); if (enc3 != 64) { output = output + String.fromCharCode(chr2); } if (enc4 != 64) { output = output + String.fromCharCode(chr3); } } output = _utf8_decode(output); return output; } // private method for UTF-8 encoding _utf8_encode = function(string) { string = string.replace(/\r\n/g, "\n"); var utftext = ""; for (var n = 0; n < string.length; n++) { var c = string.charCodeAt(n); if (c < 128) { utftext += String.fromCharCode(c); } else if ((c > 127) && (c < 2048)) { utftext += String.fromCharCode((c >> 6) | 192); utftext += String.fromCharCode((c & 63) | 128); } else { utftext += String.fromCharCode((c >> 12) | 224); utftext += String.fromCharCode(((c >> 6) & 63) | 128); utftext += String.fromCharCode((c & 63) | 128); } } return utftext; } // private method for UTF-8 decoding _utf8_decode = function(utftext) { var string = ""; var i = 0; var c = c1 = c2 = 0; while (i < utftext.length) { c = utftext.charCodeAt(i); if (c < 128) { string += String.fromCharCode(c); i++; } else if ((c > 191) && (c < 224)) { c2 = utftext.charCodeAt(i + 1); string += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); i += 2; } else { c2 = utftext.charCodeAt(i + 1); c3 = utftext.charCodeAt(i + 2); string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); i += 3; } } return string; } }通过Ajax将密文传送到服务端,服务端对密文进行解密.net代码#region 5.0 Base64加密 需指定编码 + static string Base64Encrypt(string source, Encoding encode) /// <summary> /// 5.0 Base64加密 需指定编码 /// </summary> /// <param name="strData"></param> /// <param name="encod"></param> /// <returns></returns> public static string Base64EncryptByEncode(string source, Encoding encode) { return Convert.ToBase64String(encode.GetBytes(source)); } #endregion #region 5.1 Base64解密 需指定编码 + static string Base64Decrypt(string source, Encoding encode) /// <summary> /// 5.1 Base64加密 需指定编码 /// </summary> /// <param name="strData"></param> /// <param name="encod"></param> /// <returns></returns> public static string Base64DecryptByEncode(string source, Encoding encode) { return encode.GetString(Convert.FromBase64String(source)); } #endregion #region 5.2 Base64加密(默认UTF8编码) + static string Base64Encrypt(string source) /// <summary> /// 5.2 Base64加密 /// </summary> /// <param name="strData"></param> /// <returns></returns> public static string Base64Encrypt(string source) { return Convert.ToBase64String(Encoding.UTF8.GetBytes(source)); } #endregion #region 5.3 Base64解密 + static string Base64Decrypt(string source) /// <summary> /// 5.3 Base64加密(默认UTF8编码) /// </summary> /// <param name="strData"></param> /// <param name="encod"></param> /// <returns></returns> public static string Base64Decrypt(string source) { return Encoding.UTF8.GetString(Convert.FromBase64String(source)); } #endregion
2018年01月18日
1,375 阅读
0 评论
0 点赞
2017-07-24
VS2017使用MVC提示no-executables-found-matching-command-dotnet-aspnet-codegenerator
╮(╯▽╰)╭,发现自己是越来越使用不了VS了,最近想拿.NetCore练练手,结果添加控制器也好,添加视图也好,都是提示命令找不到。度娘也不太给力,最后还是在Stack Overflow找到了原因问题原因主要是因为我在VS2017中还是使用的csproj,现在都是使用project.json了,所以我们需要在csproj的ItemGroup节点,添加一下信息<DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.1" />
2017年07月24日
1,135 阅读
0 评论
0 点赞
2017-07-18
使用Linq判断DataTable数据是否重复
我们一般系统在导入数据的时候,一般都是通过NPOI将excel数据转换成DataTable,然后将DataTable导入到数据库。在数据导入的过程中,其实很重要的一部就是检查DataTable中的数据是否有重复的,如果存在重复的,我们需要识别出重复的数据。在.net中,我们通过Rows属性的cast()方法,可以很方便的过滤出重复的数据,下面的代码即可实现var query = from e in dt.Rows.Cast<DataRow>() group e by new { sapCode = e.Field<string>("SAPComCode"), sapsupplierCode = e.Field<string>("SapSupplierCode") } into g select new { sapComCode = g.Key, count = g.Count() }; var items = query.Where(A => A.count > 1); if (items.Count() > 0)//存在重复数据 { string SameSapComCode = string.Empty; foreach (var item in items) { SameSapComCode += item.sapComCode + ";"; } SameSapComCode = SameSapComCode.TrimEnd(';'); result.Data = "以下SAP公司编号的数据存在重复,请检查后重新导入<br/>" + SameSapComCode; return result; }
2017年07月18日
1,285 阅读
0 评论
0 点赞
2017-06-30
C#操作AD域之测试域连接
C#操作域的第一步便是测试程序是否能成功连接到域,通过LDAP协议,可以非常简单的测试域连接的情况。代码如下/// </summary> /// <param name="domainName">域名或IP</param> /// <param name="userName">用户名</param> /// <param name="userPwd">密码</param> /// <param name="entry">域</param> /// <returns></returns> public string IsConnect(string domainName, string userName, string userPwd, out DirectoryEntry domain) { domain = new DirectoryEntry(); try { domain.Path = string.Format("LDAP://{0}", domainName);//LDAP是轻量目录访问协议 domain.Username = userName; domain.Password = userPwd; domain.AuthenticationType = AuthenticationTypes.Secure;//身份验证的类型 domain.RefreshCache();//将此DirectoryEntry 对象的属性值加载到属性缓存中 return "测试连接成功!"; } catch (Exception ex) { return "[IsConnected方法]错误信息:" + ex.Message; } }
2017年06月30日
1,598 阅读
1 评论
1 点赞
2017-06-30
WebForms UnobtrusiveValidationMode 需要“jquery”ScriptResourceMapping
症状WebForms UnobtrusiveValidationMode 需要“jquery”ScriptResourceMapping。请添加一个名为 jquery (区分大小写)的 ScriptResourceMapping。解决办法在webconfig中找到<appSettings> <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" /> <add key="ValidationSettings:UnobtrusiveValidationMode" value="WebForms" /> </appSettings> 删除即可。在网站根目录下新建一scripts文件夹,向里边添加jquery-1.7.2.min.js和jquery-1.7.2.js(可根据自己需要使用不同的版本)在根目录下添加全局应用程序类Global.asax文件,在Application_Start事件中添加如下代码:ScriptManager.ScriptResourceMapping.AddDefinition("jquery", new ScriptResourceDefinition { Path = "~/scripts/jquery-1.7.2.min.js", DebugPath = "~/scripts/jquery-1.7.2.js", CdnPath = "http://ajax.microsoft.com/ajax/jQuery/jquery-1.7.2.min.js", CdnDebugPath = "http://ajax.microsoft.com/ajax/jQuery/jquery-1.7.2.js" });
2017年06月30日
1,278 阅读
0 评论
0 点赞
2017-06-30
meta标签属性
meta标签meta是html语言head区的一个辅助性标签。几乎所有的网页里,我们可以看到类似下面这段的html代码:<head> <meta http-equiv="content-Type" content="text/html; charset=gb2312"> </head>也许你认为这些代码可有可无。其实如果你能够用好meta标签,会给你带来意想不到的效果,例如加入关键字会自动被大型搜索网站自动搜集;可以设定页面格式及刷新等等。meta标签的组成meta标签共有两个属性,它们分别是http-equiv属性和name属性,不同的属性又有不同的参数值,这些不同的参数值就实现了不同的网页功能。name属性 name属性主要用于描述网页,与之对应的属性值为content,content中的内容主要是便于搜索引擎机器人查找信息和分类信息用的。meta标签的name属性语法格式是:<meta name="参数" content="具体的参数值"> 其中name属性主要有以下几种参数:A、Keywords(关键字)说明:keywords用来告诉搜索引擎你网页的关键字是什么。举例:<meta name ="keywords" content="science, education,culture,politics,ecnomics,relationships, entertaiment, human"> B、description(网站内容描述)说明:description用来告诉搜索引擎你的网站主要内容。举例:<meta name="description" content="This page is about the meaning of science, education,culture.">C、robots(机器人向导)说明:robots用来告诉搜索机器人哪些页面需要索引,哪些页面不需要索引。content的参数有all,none,index,noindex,follow,nofollow。默认是all。举例:<meta name="robots" content="none">D、author(作者)说明:标注网页的作者举例:<meta name="author" content="root,root@21cn.com">http-equiv属性http-equiv顾名思义,相当于http的文件头作用,它可以向浏览器传回一些有用的信息,以帮助正确和精确地显示网页内容,与之对应的属性值为content,content中的内容其实就是各个参数的变量值。meta标签的http-equiv属性语法格式是:<meta http-equiv="参数" content="参数变量值">其中http-equiv属性主要有以下几种参数:A、Expires(期限)说明:可以用于设定网页的到期时间。一旦网页过期,必须到服务器上重新传输。用法:<meta http-equiv="expires" content="Fri, 12 Jan 2001 18:18:18 GMT">注意:必须使用GMT的时间格式。B、Pragma(cache模式)说明:禁止浏览器从本地计算机的缓存中访问页面内容。用法:<meta http-equiv="Pragma" content="no-cache">注意:这样设定,访问者将无法脱机浏览。C、Refresh(刷新)说明:自动刷新并指向新页面。用法:<meta http-equiv="Refresh" content="2;URL=http://www.root.net">(注意后面的引号,分别在秒数的前面和网址的后面)注意:其中的2是指停留2秒钟后自动刷新到URL网址。D、Set-Cookie(cookie设定)说明:如果网页过期,那么存盘的cookie将被删除。用法:<meta http-equiv="Set-Cookie" content="cookievalue=xxx; expires=Friday, 12-Jan-2001 18:18:18 GMT; path=/">注意:必须使用GMT的时间格式。E、Window-target(显示窗口的设定)说明:强制页面在当前窗口以独立页面显示。用法:<meta http-equiv="Window-target" content="_top">注意:用来防止别人在框架里调用自己的页面。F、content-Type(显示字符集的设定)说明:设定页面使用的字符集。用法:<meta http-equiv="content-Type" content="text/html; charset=gb2312">G、content-Language(显示语言的设定)用法:<meta http-equiv="Content-Language" content="zh-cn" />meta标签的功能帮助主页被各大搜索引擎登录;定义页面的使用语言自动刷新并指向新的页面实现网页转换时的动画效果控制页面缓冲控制网页显示的窗口
2017年06月30日
1,384 阅读
0 评论
1 点赞
2017-06-30
GUID转换成16位字符串或19位数字并确保唯一
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { string str = GuidTo16String(); Console.WriteLine(str); Console.WriteLine(str.Length); Console.Read(); } public static string GuidTo16String() { long i = 1; foreach (byte b in Guid.NewGuid().ToByteArray()) i *= ((int)b + 1); return string.Format("{0:x}", i - DateTime.Now.Ticks); } /// <summary> /// 根据GUID获取19位的唯一数字序列 /// </summary> /// <returns></returns> public static long GuidToLongID() { byte[] buffer = Guid.NewGuid().ToByteArray(); return BitConverter.ToInt64(buffer, 0); } } }
2017年06月30日
1,394 阅读
0 评论
0 点赞