小编Gab*_*abe的帖子

jQuery文本匹配

我有一个带有文本的锚标记,我想检查给定的var是否与字符串完全匹配.

这有效,但我想使用除contains之外的东西,因为如果包含给定的字符串,它将匹配两个元素.我希望它完全匹配.

有任何想法吗 ?

function test(submenu){
$('a:contains("' + submenu + '")', 'ul.subMenu li').css('font-weight', 'bold');
}
Run Code Online (Sandbox Code Playgroud)

jquery

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

使用Moq对视图属性进行单元测试

我正在使用Moq进行单元测试,我想测试一个视图的属性.在这种情况下,授权属性.

示例查看代码:

[Authorize(Roles = "UserAdmin")]
public virtual ActionResult AddUser()
{
   // view logic here  
   return View();
}
Run Code Online (Sandbox Code Playgroud)

因此,当我使用UserAdmin角色的用户和不属于用户admin角色的用户对此视图执行操作时,我想测试view属性.反正有没有这样做?

示例测试:

[Test]
public void Index_IsInRole_Customer()
{
   // Arrange
   UserAdminController controller = _controller;
   rolesService.Setup(r => r.IsUserInRole(It.IsAny<string>(), It.IsAny<string>())).Returns(false); // return false for any role

   // Act
   var result = controller.AddUser();

   // Assert
   Assert.IsNotNull(result, "Result is null");
}
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-mvc unit-testing moq

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

填充多个PDF

itextsharp用来填充我的PDF.我对此没有任何问题.基本上我正在做的是获取PDF并填充内存中的字段然后传回MemoryStream以显示在网页上.所有这些都与单个文档PDF一起使用.

我现在要弄清楚的是将多个PDF合并为一个MemoryStream.我无法弄清楚的部分是,我填充的文件是相同的.例如,我有一个List<Person>包含5个人的人.我想为每个人填写PDF并将它们全部合并到一个内存中.请记住,我将为每个人填写相同类型的文件.

我得到的问题是,当我尝试为第二次迭代添加相同PDF的第二个副本时,它只会覆盖第一个填充的PDF,因为它是相同的文档,因此不会为此添加第二个副本第二个Person.

所以基本上如果我有5个人,我最终会得到一个包含第5个人数据的单页,而不是包含5个相似页面的PDF,分别包含每个人的数据.

这是一些代码......

MemoryStream ms = ms = new MemoryStream();
PdfReader docReader = null;
PdfStamper Stamper = null;
List<Person> persons = new List<Person>() {
   new Person("Larry", "David"),
   new Person("Dustin", "Byfuglien"),
   new Person("Patrick", "Kane"),
   new Person("Johnathan", "Toews"),
   new Person("Marian", "Hossa")
};

try
{
   // Iterate thru all persons and populate a PDF for each
   foreach(var person in persons){
      PdfCopyFields Copier = new PdfCopyFields(ms);
      Copier.AddDocument(GetReader("Person.pdf"));
      Copier.Close();

      docReader = new PdfReader(ms.ToArray()); …
Run Code Online (Sandbox Code Playgroud)

c# pdf asp.net-mvc itextsharp

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

C#:为什么我的后台工作程序线程信号在没有完成时完成?

C#,使用VS2010,我有一些没有意义的东西.

在启动时,我的程序需要从文本文件中加载数百k.在确保加载代码工作正常后,我将它放在后台线程中.只要从IDE内部运行一切都很好,但是当它独立运行时,线程会说它已经完成了.这当然是热潮.

触发代码:

BackgroundWorker Background = new BackgroundWorker();
Background.RunWorkerCompleted += new RunWorkerCompletedEventHandler(DatabaseLoaded);
Background.DoWork += new DoWorkEventHandler(delegate { Database.Load(); });
Background.RunWorkerAsync();
Run Code Online (Sandbox Code Playgroud)

以及正在蓬勃发展的东西DatabaseLoaded().

我放了一些消息框来跟踪发生了什么:Load()方法的第一行和最后一行以及第一行DatabaseLoaded().

在IDE中,这会触发我的期望: Load()开始,Load()完成,DatabaseLoaded().但是,当单独运行时,我Load()开始,DatabaseLoaded()然后是未处理的异常框(加载器甚至没有构建空表,更不用说填充它们了.)

我疯了还是微软?

c# backgroundworker

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

如何使用没有ajax的params发送get请求

我想发送一个普通的get请求,它像普通的get请求一样替换整个页面但是如果可能的话使用jQuery.我还需要在请求中发送2个参数.

我不想用结果替换我的文档中的一些内容,结果是完整的文档.

这里的代码仍然发送​​了一个ajax请求,我的页面没有响应刷新.

$.get({
       url: '/swap_games', 
       data: { source: sourceElem, target: targetElem } 
});
Run Code Online (Sandbox Code Playgroud)

jquery

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

从通用引用类型<T>获取枚举或静态属性

因此,如果被叫中存在enum属性,为什么我无法访问该属性或此情况下的任何属性.我隐含地宣称那是.只是想知道它是否只是泛型或其本身的限制.classBarenumstatictype <T><T>type Barenum type

public class Foo<T> where T : Bar
{
     public Foo()
     {
         // This obviously works
         var car = Bar.Cars.Honda;
         var name = Bar.Name;  

         // Why can't I do this ?
         var car2 = T.Cars.Toyota;
         var name2 = T.Name;
     }
}

public class Bar
{
     public static string Name { get; set; }
     public enum Cars
     {
         Honda,
         Toyota
     };
}
Run Code Online (Sandbox Code Playgroud)

更新

@Frederik Gheysels的回答中,提到如果我有一个class …

c# generics .net-4.0

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

从表达中获取父成员

我有一个Expression用于获取Model我的视图中的项目列表.我想要做的,是给定ExpressionList,我可以去向后向上的Expression Tree获取父节点的一个水平?

让我们说这是我的视图模型:

public class MyModel {
   public MyClass myClass { get; set;}
}
Run Code Online (Sandbox Code Playgroud)

...

public class MyClass {
   public List<string> MyList { get; set;}
}
Run Code Online (Sandbox Code Playgroud)

我有一个HtmlHelper接受一个Expression如下渲染列表页面:

public static MvcHtmlString RenderList(this HtmlHelper<TModel> html, Expression<Func<TModel, IEnumerable<TItem>>> dataExpression)
{   
     var list = dataExpression.Compile()(html.ViewData.Model);

     ...

     return MvcHtmlString.Create(...);
}
Run Code Online (Sandbox Code Playgroud)

我打电话给我的助手如下:

@model MyNamespace.Models.MyModel
@Html.RenderList(m => m.myClass.MyList)
Run Code Online (Sandbox Code Playgroud)

这一切都运行正常,我的问题是,我可以采用Expression指向的指定List<string>并获取它的父节点(MyClass)然后针对我编译它Model以获得它的值.所以相当于Expression:

m => m.myClass
Run Code Online (Sandbox Code Playgroud)

这是我尝试过的: …

c# lambda expression asp.net-mvc-3

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

在Azure上的BasicHttpRelayBinding上公开WSDL

我有一个使用AppFabric自动启动的svc.我想要做的是通过总线公开我的服务的wsdl.在内部服务和wsdl工作正常,我也可以通过总线消费服务没有问题.我唯一无法正确配置的是在继电器上查看wsdl.

ServiceHostFactory创建默认端点,也增加了Azure的端点,希望一个MEX终结一起暴露在继电器的WSDL.当我尝试从服务总线URL查看wsdl时,我得到了不匹配的错误,可能是由于ACS身份验证失败了?

...cannot be processed at the receiver, due to an AddressFilter mismatch at the EndpointDispatcher. Check that the sender and receiver's EndpointAddresses agree
Run Code Online (Sandbox Code Playgroud)

我是否需要将mex端点设置为匿名身份验证,以便我可以访问浏览器并查看wsdl?只是不确定还有什么可以尝试...任何帮助将不胜感激!

示例网址:

http://myservicebusexample.servicebus.windows.net/MyService/AService.svc?wsdl

要么

http://myservicebusexample.servicebus.windows.net/MyService/AService.svc/mex

<serviceBehaviors>
   <behavior>
      <serviceMetadata httpGetEnabled="true" />
   </behavior>
</serviceBehaviors>
Run Code Online (Sandbox Code Playgroud)

所以这是我的 ServiceHostFactory

// Create host with default endpoints
ServiceHost host = new ServiceHost(serviceType, baseAddresses);
host.AddDefaultEndpoints();

// Create Relay Endpoint for Azure
ServiceEndpoint relayEndpoint = host.AddServiceEndpoint(typeof(IMyContract), new BasicHttpRelayBinding("MyAzureBindingConfiguration"), relayAddress);

// Apply ACS Credentials for the relay endpoint
relayEndpoint.ApplyEndpointBehaviorConfig("MyAzureACSCredentials");

// Create mex …
Run Code Online (Sandbox Code Playgroud)

wsdl azure azureservicebus basichttprelaybinding

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

C#中的AttachmentCollection attachmentCollection

我正在尝试在C#中使用AttachmentCollection类,当我尝试创建它的新实例时,它给出了一个错误,说"错误32类型'System.Net.Mail.AttachmentCollection'没有定义构造函数"....这是我正在尝试的,如果没有定义构造函数,如何创建一个新的实例?

AttachmentCollection attachmentCollection = new AttachmentCollection();
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

c# visual-studio-2008 visual-studio

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

Silverlight故事板中的缩小面板

我希望只需点击一下按钮即可缩小项目的宽度.

现在我基本上有两个对象,当你点击objectA上的按钮时,一个故事板开始围绕x轴旋转并折叠它.然后它通过将object的可见性设置为可见并将其旋转到视图中来显示objectB.

我想要添加的是在故事板发生在objectA和objectB之后将宽度设置得更小,然后在故事板的末尾将其设置回正常状态.

我尝试设置厚度,但我得到一个编译时错误抱怨它只是readonly.

<ObjectAnimationUsingKeyFrames
            BeginTime="00:00:00"
            Storyboard.TargetName="objectA"
            Storyboard.TargetProperty="(UIElement.Margin)">
      <DiscreteObjectKeyFrame KeyTime="00:00:00">
         <DiscreteObjectKeyFrame.Value>
            <Thickness Left="10" Right="10"/>
         </DiscreteObjectKeyFrame.Value>
      </DiscreteObjectKeyFrame>
   </ObjectAnimationUsingKeyFrames>
Run Code Online (Sandbox Code Playgroud)

我现在有一个简单的布局......

这是我的UI XAML:

<StackPanel>
   <Border x:Name="objectA" BorderBrush="Blue" BorderThickness="1" Height="100" Width="100">
      <StackPanel>
         <TextBox Margin="10"></TextBox>
         <Button Width="50" x:Name="btn1" Content="Flip" Click="btn1_Click"/>
      </StackPanel>
    <Border.Projection>
      <PlaneProjection RotationX="0"></PlaneProjection>
    </Border.Projection>
  </Border>

  <Border Visibility="Collapsed" x:Name="objectB" BorderBrush="Red" BorderThickness="1" Height="100" Width="100">
     <StackPanel>
        <TextBox Margin="10"></TextBox>
        <Button Width="50" x:Name="btn2"  Content="Flip" Click="btn2_Click"/>
     </StackPanel>
     <Border.Projection>
        <PlaneProjection RotationX="90"></PlaneProjection>
     </Border.Projection>
  </Border>
Run Code Online (Sandbox Code Playgroud)

这是故事板......

 <Storyboard x:Name="Storyboardtest">
            <DoubleAnimation BeginTime="00:00:00"
              Storyboard.TargetName="objectA"
              Storyboard.TargetProperty="(UIElement.Projection).(RotationX)"

              From="0" To="-90">
            </DoubleAnimation>
            <ObjectAnimationUsingKeyFrames
                BeginTime="00:00:01"
                Storyboard.TargetName="objectA"
                Storyboard.TargetProperty="(UIElement.Visibility)">

                <DiscreteObjectKeyFrame KeyTime="00:00:00">
                    <DiscreteObjectKeyFrame.Value>
                        <Visibility>Collapsed</Visibility> …
Run Code Online (Sandbox Code Playgroud)

c# silverlight xaml storyboard

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