小编Dom*_*nic的帖子

使用jQuery选择访问的链接

我正在尝试通过jQuery选择所有访问过的链接.这是HTML

<div class="question-summary">
    <a class="question-hyperlink">Stuff</a>
</div>
Run Code Online (Sandbox Code Playgroud)

如果question-hyperlink已经访问过,我就选择了question-summary.有任何想法吗?

jquery

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

元素'ToolkitScriptManager'不是已知元素

所以我有一个名为WebParts.aspx的文件,看起来像这样 -

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebParts.aspx.cs" Inherits="e.WebParts" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
  <title></title>
</head>
<body>
  <form id="form1" runat="server">


    <asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
    </asp:ToolkitScriptManager>

    <div>
      <asp:TabContainer ID="TabContainer1" runat="server">


      <asp:TabPanel ID="TabPanel1" runat="server">
      <ContentTemplate>Page One</ContentTemplate>
      </asp:TabPanel>

      <asp:TabPanel ID="TabPanel2" runat="server">
      <ContentTemplate>Page Two</ContentTemplate>
      </asp:TabPanel>

      <asp:TabPanel ID="TabPanel3" runat="server">
      <ContentTemplate>Page Three</ContentTemplate>
      </asp:TabPanel>

      </asp:TabContainer>
  </div>
  </form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

这样就可以在标签容器中创建3个选项卡面板.

但是,当我更改该页面以使用MasterPage.master看起来像这样 -

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebParts.aspx.cs" Inherits="eservice.WebParts"  MasterPageFile="~/MasterPage.Master"%>

<asp:Content ID="Content2"  
  ContentPlaceHolderID="ContentPlaceHolder1" 
  runat="server">

  <asp:LoginView …
Run Code Online (Sandbox Code Playgroud)

asp.net

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

有没有办法使派生类重写ToString()?

(我在.NET 4.0 beta,C#中工作.)

我有一个接口,从这个接口派生的所有类都应该实现自定义ToString()逻辑.这可以强制执行吗?如果是这样,怎么样?

.net c# inheritance interface tostring

8
推荐指数
1
解决办法
2216
查看次数

尝试Catch in Repository

我在Repository Patterns中看到的所有示例都没有包含任何类型的错误处理.为什么是这样?比方说我有这个:

public virtual TItem Insert<TItem>(TItem item) where TItem:class,new()
    {
        dbContext.Set<TItem>().Add(item);
        try
        {
            dbContext.SaveChanges();
        }
        catch (DbUpdateException)
        {

            return null;
        }

        return item;

    }
Run Code Online (Sandbox Code Playgroud)

我们违反约束的实例.我抓住了DbUpdateException ...如果不在存储库本身,这个错误处理会在哪里生效?

c# domain-driven-design ddd-repositories entity-framework-4

8
推荐指数
2
解决办法
3808
查看次数

我应该使用Colorzilla为IE9生成的SVG渐变吗?

我发现http://www.colorzilla.com/gradient-editor/非常适合生成CSS3渐变.但是,如果有人能为我澄清那么,有一件事情会很棒.

据我了解,IE9不像IE6-8那样支持过滤器,也不支持CSS3渐变.Colorzilla提供了一种非常聪明的方法来强制IE9使用多停止渐变,通过在CSS中包含渐变的SVG数据,并且仅在使用渐变的任何元素上将IE9的过滤器设置为无.下面是一个示例,如果勾选IE9支持复选框,Colorzilla会生成什么,该background: url(data ...行是为IE9添加的.

background: #1e5799; /* Old browsers */
/* IE9 SVG, needs conditional override of 'filter' to 'none' */
background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzFlNTc5OSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iIzI5ODlkOCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjUxJSIgc3RvcC1jb2xvcj0iIzIwN2NjYSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM3ZGI5ZTgiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
background: -moz-linear-gradient(top,  #1e5799 0%, #2989d8 50%, #207cca 51%, #7db9e8 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#1e5799), color-stop(50%,#2989d8), color-stop(51%,#207cca), color-stop(100%,#7db9e8)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top,  #1e5799 0%,#2989d8 50%,#207cca 51%,#7db9e8 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top,  #1e5799 0%,#2989d8 50%,#207cca 51%,#7db9e8 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top,  #1e5799 0%,#2989d8 50%,#207cca 51%,#7db9e8 …
Run Code Online (Sandbox Code Playgroud)

css svg css3 internet-explorer-9

8
推荐指数
2
解决办法
7140
查看次数

它只是我,还是WPF的一堆数据绑定和自定义IValueConverters?

说真的,似乎每次我想让我的UI元素互相交谈,我最终编写了一个新的,定制的,IValueConverter :(有人告诉我,我做错了,拜托!

例子:

  • 我希望只有在我的文本框包含有效URI时才启用按钮.很棒,是时候编写一个了UriIsValidConverter!
  • 哎呀,我也想在我处理的时候禁用它.我想我现在需要编码了UriIsValidAndBoolIsFalseMultiConverter!
  • 我想在列表框中显示某个目录(由文本框指定)中的文件列表.我想我需要一个DirectoryPathToFileList转换器!
  • 哦,嘿,我想在列表视图中的每个文件的图标.FileInfoToBitmap转换器的时间!
  • 如果我的状态字符串包含"错误",我希望我的状态为红色,否则为绿色.是的,我得编码了StatusStringToSolidColorBrushConverter!

我真的认为这并不比使用TextChanged事件(或其他)手动连接所有内容的旧Windows Forms方法好多少.我猜这仍然是一个选择.也许这就是人们真正做的事情,而我正在努力使一切都适合数据绑定范式?

所以,是的,请告诉我这是否真的是WPF编码的方式---或者如果我做错了,如果是的话,我该做什么.

data-binding wpf

7
推荐指数
3
解决办法
906
查看次数

从IDictionary <T,U>这样的接口派生时如何使用代码契约?

我写的一个课程实现IDictionary<string, object>.在我的CopyTo实现中,我想使用代码契约:像Contract.Requires<ArgumentNullException>(array != null).

但是,我收到此警告(为了便于阅读,删除了一些名称空间):

方法' LuaDictionary.CopyTo(KeyValuePair<String,Object>[],Int32)'实现接口方法' ICollection<KeyValuePair<String,Object>>.CopyTo(KeyValuePair<String,Object>[],Int32)',因此无法添加Requires.

我看到有一些相关的问题,但它们似乎都与用户控制下的接口有关.显然,IDictionary<T, U>不在我的控制之下,所以我不能用它ContractClassFor或类似的东西注释它.

我在这里无法使用代码合同吗?如果是这样......主要的无赖......

c# interface code-contracts

7
推荐指数
2
解决办法
1873
查看次数

.NET ORM,不可变值对象,结构,默认构造函数和只读属性

我刚刚开始使用.NET ORM,我还没有在Entity Framework和NHibernate之间做出决定.但在这两种情况下,我遇到了一个问题,因为他们似乎希望我以各种方式破坏我的域模型的完整性,特别是在C#对象设计的更精细点上.这是关于这个问题的几个问题之一.


我习惯于使用如下所示的模式在适当的属性上强制使用不变性:

public class Foo
{
    private readonly string bar;
    public string Bar { return this.bar; }

    public Foo(string bar)
    {
        this.bar = bar;
    }
}
Run Code Online (Sandbox Code Playgroud)

这似乎不受NHibernate或Entity Framework的支持.他们想要默认的构造函数和publicsetter; 看起来甚至privatesetter(和默认构造函数)工作(有时?)因为ORM可以使用反射.

我想我可以通过使用privatesetter和private默认构造函数来解决这些问题.至少那时公共API不会受到损害.我正在修改我的所有类的实现以添加未使用的private构造函数,并且必须信任future-Domenic,他private对我的setter 理解的确意味着"除了在构造函数中之外不要打电话给我".持久层泄漏到我的域对象设计中.

它似乎也是不必要的 - 为什么ORM不能知道使用非默认构造函数?也许他们能够,我只是没有找到正确的博客文章解释如何.

最后,在某些情况下,我的不可变值对象实际上很适合(不可变)值类型,即structs.我的猜测是这是可能的,因为在数据库中,我的struct的字段将显示在父实体存储的同一行中.你能确认/否认吗?这篇博文看起来很有前途,因为它给出了肯定的答案,但代码的数量(实际上特定于所讨论的价值类型)却让人头疼.


令人沮丧的是,经过几年阅读像Effective C#这样的书或像Eric Lippert那样的博客,它们提供了关于如何设计富有表现力和防弹的C#对象的建议,使用ORM的需要让我把大量的知识从窗口.我希望这里有人可以指出我错在哪里,要么掌握他们的能力,要么是我对域建模和ORM角色的思考.

.net orm class-design immutability value-type

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

在两个不同的进程之间切换功能的最佳方法是什么?

我有一个函数,我希望它每次触发时都执行交替进程.任何有关如何实现这一目标的帮助都会很棒.

function onoff(){
    statusOn process /*or if on*/ statusOff process
}
Run Code Online (Sandbox Code Playgroud)

javascript

7
推荐指数
2
解决办法
255
查看次数

如何自动化Windows 8 HTML5应用程序的单元测试?

我正在编写Windows 8应用程序,并为其编写单元测试.如何在Windows 8环境中以自动方式运行它们?

如果我编写超简单的JavaScript文件,而不依赖于Windows 8环境或DOM,我可以使用Node.js从命令行对它们进行单元测试.这非常快(不到一秒钟).

如果我需要涉及DOM,并且我将DOM的使用保持为不太新的功能,我可以在Node.js中使用jsdom并获得相同的设置和相同的速度.

但jsdom是不完整的,我经常想使用基本的Windows 8功能,如WinJS基础库(例如WinJS.Promise)或Windows.*枚举.理想情况下,我应该在我的应用程序实际运行的同一个JS引擎和DOM环境中进行测试.

理想情况下,我需要一个测试运行器:一个轻量级的Windows 8 HTML5容器,可以使用真正的DOM运行某些单元测试,并可以访问WinJS和Windows运行时API.为了集成到构建过程中,我还需要能够将结果报告回命令行(stdout,stderr)并根据成功或失败更改我的测试运行器的返回代码.它应该是完全自动化的,可在后台运行,并且速度非常快(不到10秒).

我知道WebKit有这样的工具,例如PhantomJS.Windows运行时HTML5环境是否存在这样的问题?如果没有,我应该考虑使用哪些API来构建类似的东西?

html5 windows-8 windows-runtime winjs

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