<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ALaDingPro的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ALaDingPro</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ALaDingPro]]></copyright><item><title><![CDATA[EPPlus设置Excel公式]]></title><link>https://blog.youkuaiyun.com/ALaDingPro/article/details/103404177</link><guid>https://blog.youkuaiyun.com/ALaDingPro/article/details/103404177</guid><author>ALaDingPro</author><pubDate>Thu, 05 Dec 2019 14:40:00 +0800</pubDate><description><![CDATA[前言

Excel中提供了功能强大的公式，EPPlus同样也支持Excel格式。

实现


// RowCount、ColumnCount 整数，分别是行计数器、列计数器
ThisCell = Worksheet.Cells[RowCount, ColumnCount];
string StartCell = Worksheet.Cells[4, ColumnCount].Address;
st...]]></description><category></category></item><item><title><![CDATA[EPPlus设置Excel条件格式]]></title><link>https://blog.youkuaiyun.com/ALaDingPro/article/details/103403913</link><guid>https://blog.youkuaiyun.com/ALaDingPro/article/details/103403913</guid><author>ALaDingPro</author><pubDate>Thu, 05 Dec 2019 14:29:23 +0800</pubDate><description><![CDATA[前言

在Excel中，可以设置条件格式，例如当单元格中的值小于0时，突出显示，如图：



EPPlus也可以实现条件模式

实现

EPPlus提供了条件格式的方法：ConditionalFormatting

该对象中含有预定义的规则，同时也支持自定义规则。

以下代码，则是利用预定义的规则去实现：


// Worksheet.Dimension.Address 返回该表单的范围
// C...]]></description><category></category></item><item><title><![CDATA[C#判断存储过程是否含有目标参数]]></title><link>https://blog.youkuaiyun.com/ALaDingPro/article/details/103290401</link><guid>https://blog.youkuaiyun.com/ALaDingPro/article/details/103290401</guid><author>ALaDingPro</author><pubDate>Thu, 28 Nov 2019 11:29:45 +0800</pubDate><description><![CDATA[SqlConnection conn = new SqlConnection(DefaultConnection);
conn.Open();

SqlCommand cmd = new SqlCommand(sql, conn);
cmd.CommandType = CommandType.StoredProcedure;

// 参数
if (Parameters != null &amp;...]]></description><category></category></item><item><title><![CDATA[Entity Framework字段截取]]></title><link>https://blog.youkuaiyun.com/ALaDingPro/article/details/90481795</link><guid>https://blog.youkuaiyun.com/ALaDingPro/article/details/90481795</guid><author>ALaDingPro</author><pubDate>Thu, 23 May 2019 15:46:02 +0800</pubDate><description><![CDATA[可以使用：Substring()


stores.Where(s=&gt; range.Item1 &lt;= s.Name.Substring(0, 1) &amp;&amp; s.Name.Substring(0, 1) &lt;= range.Item2)


]]></description><category></category></item><item><title><![CDATA[ASP.NET MVC JS中文件路径]]></title><link>https://blog.youkuaiyun.com/ALaDingPro/article/details/89447743</link><guid>https://blog.youkuaiyun.com/ALaDingPro/article/details/89447743</guid><author>ALaDingPro</author><pubDate>Mon, 22 Apr 2019 11:00:20 +0800</pubDate><description><![CDATA[C# MVC的JS代码中使用文件路径，可用以下代码生成：


@Url.Content("~/XXXX/XXX/XXX.jpg")


]]></description><category></category></item><item><title><![CDATA[iframe与父容器交互，iframe与iframe交互]]></title><link>https://blog.youkuaiyun.com/ALaDingPro/article/details/89021113</link><guid>https://blog.youkuaiyun.com/ALaDingPro/article/details/89021113</guid><author>ALaDingPro</author><pubDate>Thu, 04 Apr 2019 14:05:55 +0800</pubDate><description><![CDATA[iframe与父容器交互

iframe 元素会创建包含另外一个文档的内联框架（即行内框架）。

iframe元素有其优势，在开发中，不少情况会使用到iframe元素。因此，iframe元素与父容器的交互尤为重要。

开发者可参考以下代码：


&lt;!-- iframe调用父容器的方法 --&gt;
&lt;script&gt;
function init() { window.parent....]]></description><category></category></item><item><title><![CDATA[jQuery的“append”操作在循环中即时渲染]]></title><link>https://blog.youkuaiyun.com/ALaDingPro/article/details/88689929</link><guid>https://blog.youkuaiyun.com/ALaDingPro/article/details/88689929</guid><author>ALaDingPro</author><pubDate>Wed, 20 Mar 2019 15:33:30 +0800</pubDate><description><![CDATA[简述

在循环中使用“append”动态添加标签或内容时，只有当循环结束时，才会统一将添加的内容渲染出来。如下代码所示：


for (i=0; i&lt;5000; i++) {
    $('#collection').append('&lt;li&gt;Line Item&lt;/li&gt;');
}

以上代码只有当循环结束后，才会在页面上添加内容。

原因

当Javascript运行...]]></description><category></category></item><item><title><![CDATA[C# DataTable常用操作]]></title><link>https://blog.youkuaiyun.com/ALaDingPro/article/details/87877114</link><guid>https://blog.youkuaiyun.com/ALaDingPro/article/details/87877114</guid><author>ALaDingPro</author><pubDate>Fri, 22 Feb 2019 13:57:19 +0800</pubDate><description><![CDATA[ 转载：https://www.cnblogs.com/vaevvaev/p/6899165.html


public void CreateTable()
        {
            //创建表
            DataTable dt = new DataTable();
            
            //1、添加列
            dt....]]></description><category></category></item><item><title><![CDATA[网页全屏显示与退出全屏功能]]></title><link>https://blog.youkuaiyun.com/ALaDingPro/article/details/86690588</link><guid>https://blog.youkuaiyun.com/ALaDingPro/article/details/86690588</guid><author>ALaDingPro</author><pubDate>Tue, 29 Jan 2019 15:32:46 +0800</pubDate><description><![CDATA[效果图示



点击后全屏显示，并且图标发现变化。全屏后，点击同一按钮，会退出全屏。

代码


// 全屏切换代码
var FullscreenFlag = false;
$('#toggle-fullscreen').click(function () {
    if (FullscreenFlag) {
        ExitFullscreen();
        $(this).a...]]></description><category></category></item><item><title><![CDATA[Bootstrap Modal（模态框）拖动功能]]></title><link>https://blog.youkuaiyun.com/ALaDingPro/article/details/84840053</link><guid>https://blog.youkuaiyun.com/ALaDingPro/article/details/84840053</guid><author>ALaDingPro</author><pubDate>Wed, 05 Dec 2018 17:27:20 +0800</pubDate><description><![CDATA[效果：



代码：


// Modal拖动
$(document).on(&quot;show.bs.modal&quot;, &quot;.modal&quot;, function () {
    $('.modal-dialog').draggable();
    $(this).css(&quot;overflow&quot;, &quot;hidden&quot;);
    // 不拖动透明背景
});

 ...]]></description><category></category></item><item><title><![CDATA[ASP.NET MVC 获取当前用户和ID]]></title><link>https://blog.youkuaiyun.com/ALaDingPro/article/details/84294002</link><guid>https://blog.youkuaiyun.com/ALaDingPro/article/details/84294002</guid><author>ALaDingPro</author><pubDate>Tue, 20 Nov 2018 12:20:22 +0800</pubDate><description><![CDATA[采用ASP.NET MVC提供的用户验证，可以用以下方法获取用户名和ID：


// 用户名
User.Identity.Name;
System.Web.HttpContext.Current.User.Identity.Name;


// ID
User.Identity.GetUserId();
System.Web.HttpContext.Current.User.Identity.Ge...]]></description><category></category></item><item><title><![CDATA[DataTables插件-高度自适应]]></title><link>https://blog.youkuaiyun.com/ALaDingPro/article/details/83898776</link><guid>https://blog.youkuaiyun.com/ALaDingPro/article/details/83898776</guid><author>ALaDingPro</author><pubDate>Fri, 09 Nov 2018 15:53:25 +0800</pubDate><description><![CDATA[应用

不同显示器的分辨率不一样，导致显示效果不一致。很多情况下，在该分辨率下显示适合，在其它显示器显示过大或过小。如何调至更好的用户体验？这是一门比较耗时的功课。本篇文章应用范围很窄，只讲DataTable插件的高度自适应。在不同的分辨率下，尽可能地将表单数据更好的显示出来。

实现

利用css3的新单位：vh


'sScrollY': 'calc(100vh - 280px)'

其中，1...]]></description><category></category></item><item><title><![CDATA[ASP.NET MVC-MD5加密]]></title><link>https://blog.youkuaiyun.com/ALaDingPro/article/details/83269583</link><guid>https://blog.youkuaiyun.com/ALaDingPro/article/details/83269583</guid><author>ALaDingPro</author><pubDate>Mon, 22 Oct 2018 10:44:37 +0800</pubDate><description><![CDATA[有时候需要对数据进行MD5加密，可以采用MD5CryptoServiceProvider类进行加密。以下代码参考官方手册-MD5CryptoServiceProvider。


using System;
using System.Security.Cryptography;
using System.Text;

class Example
{
    // Hash an input stri...]]></description><category></category></item><item><title><![CDATA[Entity Framework-检测数据是否已经存在]]></title><link>https://blog.youkuaiyun.com/ALaDingPro/article/details/83183513</link><guid>https://blog.youkuaiyun.com/ALaDingPro/article/details/83183513</guid><author>ALaDingPro</author><pubDate>Fri, 19 Oct 2018 15:45:43 +0800</pubDate><description><![CDATA[前言

插入数据之前，有时候需要检测该数据是否已经存在数据库里。

解决方案

可采用以下语句判断


db.Orderss.Any(o =&amp;gt; o.Transaction == txnId)

 示例代码：


using (WebApplication1Entities db = new WebApplication1Entities())
    {
        if (db.Ord...]]></description><category></category></item><item><title><![CDATA[jQuery Validator插件-检测用户是否已经存在]]></title><link>https://blog.youkuaiyun.com/ALaDingPro/article/details/83183378</link><guid>https://blog.youkuaiyun.com/ALaDingPro/article/details/83183378</guid><author>ALaDingPro</author><pubDate>Fri, 19 Oct 2018 15:40:59 +0800</pubDate><description><![CDATA[前言

采用jQuery Validator插件对用户注册进行验证时，我们需要检测该用户是否已经被注册。可以有两种方法。

方法一：

在additional-methods.js文件中添加自定义验证，并引入到html文件里：


$.validator.addMethod(&quot;checkExists&quot;, function(value, element)
{
    var inputElem = ...]]></description><category></category></item><item><title><![CDATA[ASP.NET MVC结合AdminLte模板设置左侧菜单栏动态高亮显示]]></title><link>https://blog.youkuaiyun.com/ALaDingPro/article/details/83109576</link><guid>https://blog.youkuaiyun.com/ALaDingPro/article/details/83109576</guid><author>ALaDingPro</author><pubDate>Wed, 17 Oct 2018 14:54:20 +0800</pubDate><description><![CDATA[前言

AdminLte模板将左侧菜单栏高亮显示的效果写死了，如图所示：



在ASP.NET MVC框架中，我将左侧菜单栏作为分部页分离出来。这就意味着，它是个公共文件，不能直接添加active.。



解决方案

我的想法是：在分部页中获取当前控制器和方法，然后判断是否要添加active。

我在左侧菜单栏分部页的开头添加了以下代码：


@{
    //得到当前访问的controlle...]]></description><category></category></item><item><title><![CDATA[DataTables插件-下载说明]]></title><link>https://blog.youkuaiyun.com/ALaDingPro/article/details/83068438</link><guid>https://blog.youkuaiyun.com/ALaDingPro/article/details/83068438</guid><author>ALaDingPro</author><pubDate>Tue, 16 Oct 2018 10:16:05 +0800</pubDate><description><![CDATA[简介

DataTables是一个很优秀的Jquery插件，在引入DataTables前必须引入Jquery插件。另外，DataTables插件有很多额外的扩展，在下载的时候，可以选择需要的插件下载DataTables下载。官网提供的英文解释比较完整，本篇就讲讲一些个人觉得重要的信息。

下载

进入官网的下载页面，如图所示：



步骤一：选择样式

选择样式框架，DataTables提供了几种...]]></description><category></category></item><item><title><![CDATA[AdminLTE后台模板-设置顶部导航栏和侧边栏相对浏览器固定不动]]></title><link>https://blog.youkuaiyun.com/ALaDingPro/article/details/82995214</link><guid>https://blog.youkuaiyun.com/ALaDingPro/article/details/82995214</guid><author>ALaDingPro</author><pubDate>Wed, 10 Oct 2018 12:29:04 +0800</pubDate><description><![CDATA[前言

采用AdminLTE模板设计后台系统的时候，常常会出现页面主体内容过多，会出现垂直滚动条，滚到底部后，想点击侧边栏按钮不太方便。AdminLTE提供了相应的类设置顶部导航栏和侧边栏相对浏览器固定不动。

操作

在body标签里添加fixed类即可：


&amp;lt;body class=&quot;hold-transition skin-blue sidebar-mini fixed&quot;&amp;gt;


...]]></description><category></category></item><item><title><![CDATA[asp.net 提示System.Data.SqlClient.SqlException: 关键字 'user' 附近有语法错误]]></title><link>https://blog.youkuaiyun.com/ALaDingPro/article/details/82841140</link><guid>https://blog.youkuaiyun.com/ALaDingPro/article/details/82841140</guid><author>ALaDingPro</author><pubDate>Tue, 25 Sep 2018 16:29:58 +0800</pubDate><description><![CDATA[问题分析

我们在用SqlServer设计数据库的时候，可能由于不熟悉，会将数据库系统的关键字作为表名、字段等。会提示类似的错误。



 解决方案

在Sql语句中，关键字“user”两边应该添加中括号“[]”



 也可以重新设计数据表，避免使用关键字。...]]></description><category></category></item><item><title><![CDATA[ASP.NET-GridView控件更新操作时，自动插入更新时间]]></title><link>https://blog.youkuaiyun.com/ALaDingPro/article/details/82796533</link><guid>https://blog.youkuaiyun.com/ALaDingPro/article/details/82796533</guid><author>ALaDingPro</author><pubDate>Fri, 21 Sep 2018 09:32:44 +0800</pubDate><description><![CDATA[在开发中，我们经常会设置一个字段，用于存放数据的更新时间。用GridView控件自带的更新功能，没有直接的设置。

步骤一

在GridView控件的事件中，双击“RowUpdating”，自动生成绑定事件。



步骤二

在生成的方法中，写入以下代码：


e.NewValues[&quot;updateTime&quot;] = DateTime.Now;



 其中，updateTime是SqlDataSo...]]></description><category></category></item></channel></rss>