小编Rob*_*Rob的帖子

选择另一个元素之后的第一个元素

我在页面上有以下HTML代码:

<h4>Some text</h4>
<p>
Some more text!
</p>
Run Code Online (Sandbox Code Playgroud)

在我的.css我有以下选择器来设置h4元素的样式.上面的HTML代码只是整个代码的一小部分; 还有几个div属于一个影子箱的东西:

#sb-wrapper #sb-wrapper-inner #sb-body #myDiv h4
{
    color               : #614E43;
    margin-top          : 5px;
    margin-left         : 6px;
}
Run Code Online (Sandbox Code Playgroud)

所以,我的h4元素有正确的样式,但我也希望p在HTML中设置样式.

CSS选择器有可能吗?如果是,我该怎么做?

html css css-selectors

99
推荐指数
4
解决办法
12万
查看次数

Page_Load在ASP.NET页面中触发两次

Asp.net page_load函数加载了两次..因此它会影响我的页面性能.有谁知道它加载两次的原因.

不,我没有在任何地方调用页面加载功能......

asp.net webforms

39
推荐指数
5
解决办法
7万
查看次数

NLog旋转和清理日志文件

我公司内部正在与NLog合作.我们遇到了大量日志文件的问题.我们想要做的是按天归档文件并保留最多x个文件.让我们说7.我已经在互联网上阅读了几个关于此的主题,他们主要指向我修改我的NLog.config文件的方向.但是,它似乎不愿意像我期望的那样旋转文件.目前,所需的文件夹中没有任何内容存档.但是所有文件都以以下格式保存在'logs'-directory中;

Log.info.2011-11-07.txt
Run Code Online (Sandbox Code Playgroud)

在我的应用程序中,我有一个目录'logs'.在该文件夹中保存所有日志文件.我还有一个名为'archives'的文件夹,我想在其中存档所有旧文件.在该目录中达到最大数量的日志文件后,应自动清除它们.这可能吗?我当前的NLog.config文件如下所示;

<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      autoReload="true"
      throwExceptions="true"
      internalLogFile="C:\nlog-internal.txt"
      internalLogLevel="Error">

  <extensions>
    <add assembly="NLog.Extended" />
  </extensions>

  <targets>
    <!-- will move file to archive once it reaches 1MB. Files are archived by day, with a maximum of three files. ConcurrentWrites is set to false, 
            change to true if multiple processes will be writing to the logfile-->
    <target name="file" xsi:type="File" fileName="${basedir}/logs/Log.info.${shortdate}.txt" 
            layout="${longdate} ${callsite} ${level}: ${message} ${exception:format=Message,StackTrace} ${stacktrace}"
            archiveFileName="${basedir}/logs/archives/log.info.${shortdate}.txt"
            archiveAboveSize="1048576"
            archiveEvery="Day"
            archiveNumbering = "Rolling"
            maxArchiveFiles="7"
            concurrentWrites="false"
            />
    <target name="file-default" xsi:type="File" …
Run Code Online (Sandbox Code Playgroud)

error-handling logging nlog

28
推荐指数
2
解决办法
2万
查看次数

C#regex通过url从youtube和vimeo获取视频ID

我正忙着创建两个正则表达式来过滤来自youtube和vimeo视频的id.我已经有了以下表达式;

YouTube: (youtube\.com/)(.*)v=([a-zA-Z0-9-_]+)
Vimeo: vimeo\.com/([0-9]+)$
Run Code Online (Sandbox Code Playgroud)

正如我在下面解释的那样,有两种类型的网址与我已创建的正则表达式相匹配.来自Vimeo和YouTube的其他几种网址并未被表达所覆盖.我最喜欢的是所有这些都可以用两个表达式来涵盖.一个适用于所有Vimeo视频,一个适用于所有YouTube视频.我一直在忙着尝试一些不同的表达方式,但到目前为止还没有成功.我还在尝试掌握正则表达式,所以我希望我能以正确的方式来帮助我!如果需要更多信息,请告诉我!

VIMEO网址不匹配:

http://vimeo.com/channels/hd#11384488
http://vimeo.com/groups/brooklynbands/videos/7906210
http://vimeo.com/staffpicks#13561592
Run Code Online (Sandbox Code Playgroud)

YOUTUBE网址不匹配

http://www.youtube.com/user/username#p/a/u/1/bpJQZm_hkTE
http://www.youtube.com/v/bpJQZm_hkTE
http://youtu.be/bpJQZm_hkTE
Run Code Online (Sandbox Code Playgroud)

匹配的网址

http://www.youtube.com/watch?v=bWTyFIYPtYU&feature=popular
http://vimeo.com/834881
Run Code Online (Sandbox Code Playgroud)

我们的想法是将上面提到的所有网址与两个正则表达式相匹配.一个用于vimeo,一个用于youtube.

在回答后更新Sedith:

这就是我的表达式现在的样子

public static readonly Regex VimeoVideoRegex = new Regex(@"vimeo\.com/(?:.*#|.*/videos/)?([0-9]+)", RegexOptions.IgnoreCase | RegexOptions.Multiline);
public static readonly Regex YoutubeVideoRegex = new Regex(@"youtu(?:\.be|be\.com)/(?:(.*)v(/|=)|(.*/)?)([a-zA-Z0-9-_]+)", RegexOptions.IgnoreCase);
Run Code Online (Sandbox Code Playgroud)

在我的代码中

var youtubeMatch = url.match(YoutubeVideoRegex );
var vimeoMatch = url.match(VimeoVideoRegex );

var youtubeIndex = (youtubeMatch.length - 1)
var youtubeId = youtubeMatch[youtubeIndex];
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我现在需要找到videoId在数组中的索引,其中正则表达式返回匹配项.但我希望它只返回id本身,所以我不需要修改代码,当你的vimeo决定改变那里的网址时.关于这个的任何提示?

.net c# regex youtube asp.net

26
推荐指数
1
解决办法
3万
查看次数

C#mvc 3使用带有选定值的选择列表

我正在研究MVC3 Web应用程序.我想要一个从应用程序管理系统编辑blo时显示的类别列表.在我的viewmodel中,我为类别的selectlistitems列表定义了以下属性.

/// <summary>
/// The List of categories
/// </summary>
[Display(Name = "Categorie")]
public IEnumerable<SelectListItem> Categories { get; set; }
Run Code Online (Sandbox Code Playgroud)

下一步,我的控制器包含以下编辑操作,其中从数据库中填充selectlistitems列表.

public ActionResult Edit(Guid id)
{
    var blogToEdit = _blogService.First(x => x.Id.Equals(id));
    var listOfCategories = _categorieService.GetAll();
    var selectList = listOfCategories.Select(x =>new SelectListItem{Text = x.Name, Value = x.Id.ToString(), Selected = x.Id.Equals(blogToEdit.Category.Id)}).ToList();
    selectList.Insert(0, new SelectListItem{Text = Messages.SelectAnItem, Value = Messages.SelectAnItem});

    var viewModel = new BlogModel
                        {
                            BlogId = blogToEdit.Id,
                            Active = blogToEdit.Actief,
                            Content = blogToEdit.Text,
                            Title = blogToEdit.Titel,
                            Categories = selectList …
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-mvc asp.net-mvc-3

23
推荐指数
1
解决办法
7万
查看次数

实体框架5代码优先不创建数据库

我正在尝试使用Entity Framework的代码优先概念创建一个新数据库.但是,在运行代码时,不会创建数据库(使用DropCreateDatabaseIfModelChanges设置),尽管代码运行正常.当我尝试从数据库中获取某些内容时,我看到以下异常.

在此输入图像描述

我的项目使用DataAccess具有通用服务和存储库构造的单独层进行设置.因此,我的所有实体,存储库和数据库上下文都在解决方案中的单独项目中.

我的global.asax文件包含以下代码.

Database.SetInitializer(new DropCreateDatabaseIfModelChanges<MyContext>());
Run Code Online (Sandbox Code Playgroud)

这应该初始化一个新的数据库,如果它不存在,对吧?

我的数据库上下文类看起来像这样;

namespace Website.DAL.Model
{
    public class MyContext : DbContext
    {
        public IDbSet<Project> Projects { get; set; }
        public IDbSet<Portfolio> Portfolios { get; set; }

        /// <summary>
        /// The constructor, we provide the connectionstring to be used to it's base class.
        /// </summary>
        public MyContext()
            : base("MyConnectionString")
        {
        }

        static MyContext()
        {
            try
            {
                Database.SetInitializer<MyContext>(new DropCreateDatabaseIfModelChanges<MyContext>());
            }
            catch (Exception)
            {
                throw;
            }
        }

        /// <summary>
        /// This method …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework ef-code-first asp.net-mvc-4 entity-framework-5

21
推荐指数
1
解决办法
4万
查看次数

在单元测试中使用httpcontext

我正在使用C#4.0,我需要对服务进行单元测试.服务中的函数返回一个类似于我预期的变量i的路径,这是我期望回来的路径.但是,当我运行此测试时,我得到HttpContext.Current为NULL的错误.我该怎么做才能解决这个问题,以便可以运行测试?

[TestMethod]
public void GetPathTest()
{
   var expected = System.IO.Path.GetFullPath(HttpContext.Current.Server.MapPath("~/Certificates/"));
   var path = _mockService.Setup(o => o.GetPath()).Returns(expected);
}
Run Code Online (Sandbox Code Playgroud)

c# unit-testing httpcontext c#-4.0

13
推荐指数
1
解决办法
1万
查看次数

为mvc3 webapplication自动生成规范

我想在我的网站上使用规范网址.我在互联网上阅读了一些关于它的内容,但我正在寻找一种解决方案,它将自动为我的运行时生成规范并将其添加到返回浏览器的html代码中.

我已经在互联网上找到了一个使用属性的例子,但这不是我想要的.使用属性我仍然决定哪个页面应该是规范或不是我自己,我希望每个页面都有一个自动生成的页面.我认为应该有(现有的)解决方案吗?我正在努力寻找一个好的榜样,所以任何帮助都会受到赞赏.

c# asp.net seo asp.net-mvc-3

13
推荐指数
1
解决办法
5009
查看次数

jquery文本旋转

我在div中有一个简单的文本,如下所示;

<div id="banner">
    <div>This is an example text</div>
</div>
Run Code Online (Sandbox Code Playgroud)

我希望div内的文字旋转20-30度.我已经在stackoverflow上找到了关于它的这个主题,它在Firefox和Chrome中给出了我想要的结果,但在IE7,IE8和IE9中没有.我也试过jquery旋转,但是当使用它时,看起来插件正在用div本身做一些事情,使它消失,而不是旋转div内的文本.这有可能与javscript和/或CSS?

注意:Cufon也在使用中.

Codlers回答后更新:

这是Codler回答后的当前应用的css.适用于FF和Chrome.

-ms-transform: rotate(-20deg);
-moz-transform: rotate(-20deg);
/*-moz-rotation-point: 0 0;*/
-webkit-transform: rotate(-20deg);
/*-webkit-rotation-point: 0 0;*/
-o-transform: rotate(-20deg);
/*-ms-writing-mode: tb-lr;
* html writing-mode: tb-lr;*/
Run Code Online (Sandbox Code Playgroud)

更新2:IE7和IE8现在正在旋转文本,但在IE9中,我的旋转文本后面有一个大的黑色方块.是什么导致这个?CSS现在如下;

-moz-transform: rotate(-20deg);
-o-transform: rotate(-20deg);
-webkit-transform: rotate(-20deg);
-ms-transform: rotate(-20deg);  
transform: rotate(-20deg);
background-color:transparent;

/*-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.93969262, M12=0.34202014, M21=-0.34202014, M22=0.93969262,sizingMethod='auto expand')";*/
/*filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.93969262, M12=0.34202014, M21=-0.34202014, M22=0.93969262,sizingMethod='auto expand');*/
filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.93969262, M12=0.34202014, M21=-0.34202014, M22=0.93969262,sizingMethod='auto expand');
zoom: 1;
z-index:1;

position:absolute;

padding     : 45px 10px 15px 10px;
Run Code Online (Sandbox Code Playgroud)

最终的工作代码.对于Jeff和Codler来说,这是对此的肯定.

HTML:

<div …
Run Code Online (Sandbox Code Playgroud)

javascript css jquery text-rotation

13
推荐指数
2
解决办法
3万
查看次数

非法访问加载集合错误

我收到了错误

非法访问加载集合

当我想要获得属于某个产品的变种列表时.NHibernate映射如下

<list name="Variants" lazy="false" cascade="save-update" inverse="false" table="PluginProduct_ProductVariant">
  <key column="ProductId" />
  <index column="Ordinal" />
  <one-to-many class="Plugin.Product.Business.Entities.Variant, Plugin.Product" />
</list>
Run Code Online (Sandbox Code Playgroud)

我已经尝试过按照本网站其他主题的建议来调整懒惰和反向属性,但他们没有做到这一点.

我正在将NHibernate与ASP.NET MVC结合使用,并且我试图在我的视图中循环遍历一个变体集合.视图调用以下方法

        public ActionResult ShowProduct()
        {
        var id = new Guid(PluginData.PageParameters["Id"]);

        var variant = _variantService.GetVariantById(id);
        var product = variant.Product;

        return PluginView("ShowProduct.ascx", product);
        }
Run Code Online (Sandbox Code Playgroud)

上面的代码运行没有任何问题.但是当我在返回视图之前调试时,我看到产品包含的变体列表是空的.当我打开更详细的调试信息时,它会向我显示收集错误.

在我的Web应用程序的视图中,我正在尝试执行以下操作

<%
foreach (var variant in Model.Variants)
{%>
    kleur: <%= variant.Color %>
    van: <%= variant.FromPrice %> voor: <%= variant.Price %>
<%} %>
Run Code Online (Sandbox Code Playgroud)

mapping collections nhibernate nhibernate-mapping c#-3.0

11
推荐指数
1
解决办法
2万
查看次数