草庐IT

VIEW_ACTION

全部标签

c# - 测试 ASP.NET MVC View 模型

我正在使用Nunit和Moq来测试我的asp.netmvc解决方案。这是测试传递给View的模型是否是正确对象/集合的好方法吗?[Test]publicvoidStart_Page_Should_Display_Posts(){varposts=newList{newPost{Id=1},newPost{Id=2}};varmock=newMock();mock.Setup(x=>x.FindAll()).Returns(posts.AsQueryable());varcontroller=newPostsController(mock.Object);varresult=contro

c# - Nancy Self Host 使用 Razor View 的空白响应

这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭11年前。在Nancy0.6中解决我正在尝试让自托管的Nancy返回RazorView,但我无法让它工作。Nancy源代码中的示例使用Web项目,但pagetheyhave没有说这是必需的。我已经尝试指定配置部分,但他们再次说“这一步是完全可选的”(斜体是他们的)。通过源代码追踪,razor似乎不是一个有效的View引擎,但我看不到我可以在配置中或我自己的Nanc

c# - MVC4 + async/await + 在 Action 完成前返回响应

在我的MVC4应用程序中,我需要添加一个Controller来上传和处理大文件。文件上传后,我需要立即开始对该文件的异步处理,并在不等待处理完成的情况下将响应返回给浏览器。显然我可以启动一个新线程来手动处理文件,但我想知道我是否可以使用.net4.5引入的异步/等待机制来实现这种情况为了测试这个概念,我尝试了这样的事情:publicasyncTaskTest(){TestAsync();returnView("Test");}publicasyncvoidTestAsync(){awaitLongRunning();}privateTaskLongRunning(){returnTas

c# - 为什么以这种方式调用 Action 成员是无效语法?

以下代码会产生语法错误:classFoo{publicActiona=()=>{};}voiddoSomething(){varfoo=newFoo();(foo.a)();//errorCS1525:Invalidexpressionterm')'}但是,以下替代方案都有效:foo.a();//worksActiona=foo.a;a();//works为什么会这样?(foo.a)是一个Action;为什么我不能调用它? 最佳答案 会发生什么?那是因为这段代码(foo.a)();会评估为一个cast-expression,如foo

C# MVC : Performance and Advantages of MVC Html Helpers vs. View 中的直接 HTML

我想知道Html助手对C#ASP.NETMVCView有什么样的性能影响,尤其是在设置属性参数时,以及它们总体上有什么样的优势(为什么要使用它们?)使用Html助手:直接HTML:"/>我有很多页面包含5到15个这样的输入。最重要的是,HtmlHelpers允许您呈现表单(想想Html.BeginForm())等,因此您最终可能会调用20次甚至更多的HtmlHelper。我认为他们中的一些人也使用反射,例如当您设置类似上面禁用的属性时。这样做不会对性能产生巨大影响吗?为什么使用这些助手被认为是更好的做法?请有人给我一个充分的理由:)我想使用它们,但我真的很担心它们对性能的影响。使用Ht

c# - 具有四个以上参数(方法参数)的 Action 委托(delegate)

我写了一个辅助类,它使用Action-delegate作为方法参数。像这样:publicvoidSomeMethod(ActionmethodToExecute,Targument);根据MSDN,您可以声明最大值。Action委托(delegate)的4个参数:Action.现在我想调用一个需要5个的方法!争论。我怎么能这样做?最好的解决方案是我可以使用动态数量的方法参数。谢谢 最佳答案 声明你需要的Action委托(delegate),这没什么神奇的:publicdelegatevoidAction(T1p1,T2p2,T3p3

c# - Visual Studio 转到定义 (F12) 打开对象浏览器而不是代码 View

我正在运行VS2005,当我右键单击一个对象并选择“转到定义”时,它会将我带到对象浏览器而不是实际代码。我可以更改一些设置来解决这个问题吗?注意:它适用于C#解决方案,我在使用Basic时遇到了问题。 最佳答案 当我将对库的引用添加为“二进制”引用而不是“项目”引用时,我通常会看到这种情况。您可能需要删除引用并将其从项目选项卡中添加回来。 关于c#-VisualStudio转到定义(F12)打开对象浏览器而不是代码View,我们在StackOverflow上找到一个类似的问题:

c# - 如何在 C# 中将多个 Action<T> 合并为一个 Action<T>?

如何在循环中构建一个ActionAction?解释一下(抱歉太长了)我有以下内容:publicinterfaceISomeInterface{voidMethodOne();voidMethodTwo(stringfolder);}publicclassSomeFinder:ISomeInterface{//elided}和一个使用上面的类:publicMapBuilder.BuildMap(Actionaction,stringusedByISomeInterfaceMethods){varfinder=newSomeFinder();action(finder);}我可以用其中任何

C# Action lambda 限制

为什么这个lambda表达式不能编译?Actiona=()=>thrownewInvalidOperationException();猜想很好,但我非常感谢对C#语言规范或其他文档的引用。是的,我知道以下内容是有效的并且可以编译:Actiona=()=>{thrownewInvalidOperationException();};thisblogpost中描述了我将使用类似内容的上下文. 最佳答案 嗯。我有一个答案,但不是很好。我不相信有“throw”表达式。有一个throw语句,但不仅仅是一个表达式。将其与“Console.Wri

c# - 有没有一种方法可以只将一个整数传递给我的 View 而无需在 mvc 中创建模型

我有一个调用View的Controller。有没有一种方法可以只将一个整数传递给我的View,并能够在我的View中使用Razor代码使用该整数?这是我在Controller中的方法:publicActionResultDetails(intlinkableId){returnView(linkableId);}返回我的View后,我可以使用类似这样的Razor代码访问这个int吗?@linkableId 最佳答案 在您的View中,在最顶部:@modelInt32或者您可以使用ViewBag。ViewBag.LinkableId=