我有一个带有文本的锚标记,我想检查给定的var是否与字符串完全匹配.
这有效,但我想使用除contains之外的东西,因为如果包含给定的字符串,它将匹配两个元素.我希望它完全匹配.
有任何想法吗 ?
function test(submenu){
$('a:contains("' + submenu + '")', 'ul.subMenu li').css('font-weight', 'bold');
}
Run Code Online (Sandbox Code Playgroud) 我正在使用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) 我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#,使用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()
然后是未处理的异常框(加载器甚至没有构建空表,更不用说填充它们了.)
我疯了还是微软?
我想发送一个普通的get请求,它像普通的get请求一样替换整个页面但是如果可能的话使用jQuery.我还需要在请求中发送2个参数.
我不想用结果替换我的文档中的一些内容,结果是完整的文档.
这里的代码仍然发送了一个ajax请求,我的页面没有响应刷新.
$.get({
url: '/swap_games',
data: { source: sourceElem, target: targetElem }
});
Run Code Online (Sandbox Code Playgroud) 因此,如果被叫中存在enum
属性,为什么我无法访问该属性或此情况下的任何属性.我隐含地宣称那是.只是想知道它是否只是泛型或其本身的限制.class
Bar
enum
static
type
<T>
<T>
type
Bar
enum
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 …
我有一个Expression
用于获取Model
我的视图中的项目列表.我想要做的,是给定Expression
的List
,我可以去向后向上的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)
这是我尝试过的: …
我有一个使用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) 我正在尝试在C#中使用AttachmentCollection类,当我尝试创建它的新实例时,它给出了一个错误,说"错误32类型'System.Net.Mail.AttachmentCollection'没有定义构造函数"....这是我正在尝试的,如果没有定义构造函数,如何创建一个新的实例?
AttachmentCollection attachmentCollection = new AttachmentCollection();
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助!
我希望只需点击一下按钮即可缩小项目的宽度.
现在我基本上有两个对象,当你点击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# ×6
asp.net-mvc ×2
jquery ×2
.net-4.0 ×1
asp.net ×1
azure ×1
expression ×1
generics ×1
itextsharp ×1
lambda ×1
moq ×1
pdf ×1
silverlight ×1
storyboard ×1
unit-testing ×1
wsdl ×1
xaml ×1