我正在使用以下代码,使用SharpZipLib库将文件添加到.zip文件中,但每个文件都以其完整路径存储.我只需要将文件存储在.zip文件的"root"中.
string[] files = Directory.GetFiles(folderPath);
using (ZipFile zipFile = ZipFile.Create(zipFilePath))
{
zipFile.BeginUpdate();
foreach (string file in files)
{
zipFile.Add(file);
}
zipFile.CommitUpdate();
}
Run Code Online (Sandbox Code Playgroud)
在提供的文档中,我找不到任何关于此选项的信息.由于这是一个非常受欢迎的图书馆,我希望有人读这篇文章可能会有所了解.
我正在尝试实现下面的代码建议,但我Incorrect syntax near the keyword 'view'在创建和更改行上都收到错误.
IF Object_ID('TestView') IS NULL
BEGIN
create view TestView
as
. . .
END
ELSE
BEGIN
ALTER view TestView
as
. . .
END
Run Code Online (Sandbox Code Playgroud) 从字面上看,每次我运行一个大丑陋的网站项目时,我都会收到一条UnauthorizedAccessException,其中有一条指向DLL的消息,例如Temporary ASP.NET Files\ctheweb\0d76d363\4695c81f\App_Web_vi6bbbpy.dll' is denied. 我然后停止并重新启动项目,它运行正常.我做了一些测试,调试,修复,再次运行,然后再次出错.
我倾向于添加一个预构建命令来清除该目录,但我总是更喜欢用锤子以外的东西来解决问题,至少最初是这样.
我厌倦了使用这样的代码:
var count = 0;
if (myEnumerable != null)
{
count = myEnumerable.Count();
}
Run Code Online (Sandbox Code Playgroud)
这有点迂腐:
var count = (myEnumerable ?? new string[0]).Count();
Run Code Online (Sandbox Code Playgroud)
这样做有什么比较整洁的方法吗?我曾经在IEnumerable <>上使用了一个(命名很差的)PhantomCount扩展方法,它使用了我的第一个代码示例,但它有一些关于它的气味(除了名称).
为什么我们仍然必须使用带引号的字符串文字来strict在JS中打开?当然可以在这里使用一些更强烈"打字"的东西,例如调用内置函数,比如说Object.UseStrict()类似的东西.必须诉诸字符串文字的原因是什么?
我需要布置一个包含两个图像的网页,这两个图像必须拉伸以填充可用的浏览器窗口,但文本内容位于页面的中心.到目前为止,我似乎能够做到这一点的唯一方法是,a)将两个图像合并为一个,并将其设置为背景图像body,然后小心地垂直定位内容的中间带以适应图像之间的间隙,或者,b)将container(固定的)div嵌套在一个container-fluid握住图像和固定的文本内容中.然而,我看到了那些提倡嵌套自举容器的人的严厉警告和蔑视.
这张图片可能有助于传达我的需求:

"图像1"必须在整个窗口上延伸,内容保持居中,与"图像2"相同,图像之间有垂直的白色条带,底部屏幕右侧有一条普通的灰色条带.
我即将将Identity的Microsoft.AspNet.Identity.EntityFramework项目(v 2.0.0.0)转换为使用NHibernate作为其持久性机器的项目.我的第一个"绊脚石"是这个类中的一组存储库UserStore:
private readonly IDbSet<TUserLogin> _logins;
private readonly EntityStore<TRole> _roleStore;
private readonly IDbSet<TUserClaim> _userClaims;
private readonly IDbSet<TUserRole> _userRoles;
private EntityStore<TUser> _userStore;
Run Code Online (Sandbox Code Playgroud)
类型参数TUser被约束为IdentityUser<TKey, TUserLogin, TUserRole, TUserClaim>,并且此类型具有其自己的类似集合集:
public virtual ICollection<TRole> Roles { get; private set; }
public virtual ICollection<TClaim> Claims { get; private set; }
public virtual ICollection<TLogin> Logins { get; private set; }
Run Code Online (Sandbox Code Playgroud)
如果我不得不管理一个存储库,那么我的生活将变得更加轻松TUser,因为每个用户都已经处理好自己的东西.是否有任何重要的原因我不能废除这些(为了消除对Entity Framework的任何依赖,比如DbSet?
我可以设计我自己的存储库类来代替DbSet符合这种设计UserStore,但我更愿意丢失它们并让每个用户实例处理它自己的声明等.
我正在尝试使用FancyTree jquery插件实现基于Web的文件夹浏览器.经过一些出牙问题,我的工作做得很好.唯一的问题是FancyTree不显示任何连接线或图标.严格仅限文本,分别使用+和 - 图标进行展开和折叠.我曾经想象过这样一个面向文件系统的插件,它有默认的图标,例如封闭和打开的文件夹等等.所以我还没有指定自定义图标,但连接线更让我困扰.
我从它的GitHub repo拼凑了我的FancyTree源代码,我的源文件夹如下所示.这是从挑选源代码,因为distFancyTree 的文件夹有点稀疏:
这就是我引用样式和脚本的方式.开发只是为了简洁:
<link rel="stylesheet" href="~/css/site.css" />
<link href="~/lib/fancytree/jquery-ui.css" rel="stylesheet" />
<link href="~/lib/fancytree/jquery-ui.structure.css" rel="stylesheet" />
<link href="~/lib/fancytree/jquery-ui.theme.css" rel="stylesheet" />
<link href="~/lib/fancytree/skin-bootstrap/ui.fancytree.css" rel="stylesheet" />
Run Code Online (Sandbox Code Playgroud)
额外的样式来自于jQuery UI的最小自定义下载,这是FancyTree的依赖.脚本:
<script src="~/lib/jquery/dist/jquery.js"></script>
<script src="~/lib/bootstrap/dist/js/bootstrap.js"></script>
<script src="~/lib/fancytree/jquery-ui.js"></script>
<script src="~/lib/fancytree/jquery.fancytree-all.js"></script>
Run Code Online (Sandbox Code Playgroud)
我只想象一个丢失或错误的images位置,但肯定这应该使用glyphicons样式图标.我没有指定任何自定义图标,但预期默认值.如果我可以获得自定义图标,那么我真正关心的是缺少连接线.
BREAKING:如果我强制连接器根据这个SO答案显示,通过在树启动时添加一个类:
$(".fancytree-container").addClass("fancytree-connectors");
Run Code Online (Sandbox Code Playgroud)
我得到了连接器的垂直部分,但在水平方向上看不到任何东西.,只是文本,通常比具有线条的树缩进和可读性差.
我在将telerik RadGrid和普通的ASP.NET GridView绑定到以下LINQ to实体查询的结果时遇到问题.在这两种情况下,网格都包含正确的行数,但只有少数几行的数据在所有其他行中都是重复的.我直接从此代码中为网格上的DataSource属性分配返回值.
public IEnumerable<DirectoryPersonEntry> FindPersons(string searchTerm)
{
DirectoryEntities dents = new DirectoryEntities();
return from dp in dents.DirectoryPersonEntrySet
where dp.LastName.StartsWith(searchTerm) || dp.Extension.StartsWith(searchTerm)
orderby dp.LastName, dp.Extension
select dp;
}
Run Code Online (Sandbox Code Playgroud)
ADDED:这是可行的替代普通ADO.NET代码:
DataTable ret = new DataTable();
using (SqlConnection sqn = new SqlConnection(ConfigurationManager.ConnectionStrings["WaveAdo"].ConnectionString))
{
SqlDataAdapter adap = new SqlDataAdapter("select * from DirectoryPersonList where LastName like '" + searchTerm + "%' order by LastName ", sqn);
sqn.Open();
adap.Fill(ret);
}
return ret;
Run Code Online (Sandbox Code Playgroud)
更多:
更新:基于下面Marc …
asp.net ×3
c# ×3
.net ×2
css ×2
collections ×1
compression ×1
ecmascript-5 ×1
fancytree ×1
html ×1
javascript ×1
jquery ×1
linq ×1
nhibernate ×1
operators ×1
sharpziplib ×1
sql-server ×1
use-strict ×1