草庐IT

sidebar_action

全部标签

c# - 带有字符串数组的 URL.Action?

我有一个字符串数组,我需要在Url.Action的查询字符串中传递这些字符串。Url.Action("Index","Resource",new{FormatIds=Model.FormatIDs})现在链接在我的浏览器中显示为System.String[]而不是查询字符串。是否可以让MVC通过模型绑定(bind)自动执行此操作?我需要它与我的Controller操作绑定(bind),例如:publicActionResultIndex(string[]formatIDs) 最佳答案 要使用默认绑定(bind)器获取要自动绑定(bi

c# - 如何从 Action 委托(delegate)创建 MethodInfo

我正在尝试开发一个NUnit插件,它从一个包含Action委托(delegate)列表的对象动态地将测试方法添加到套件中。问题是NUnit似乎严重依赖反射来完成工作。因此,似乎没有简单的方法可以将我的Action直接添加到套件中。相反,我必须添加MethodInfo对象。这通常会起作用,但Action委托(delegate)是匿名的,因此我必须构建类型和方法来完成此操作。我需要找到一种更简单的方法来执行此操作,而无需使用Emit。有谁知道如何轻松地从Action委托(delegate)创建MethodInfo实例? 最佳答案 您是否

c# - 在 MVC3 中的每个 Action 之前运行一个方法

在MVC3中,我们如何在运行每个Action之前运行一个方法?我知道我们可以对OnActionExecuting使用以下方法:publicclassValidateUserSessionFilterAttribute:ActionFilterAttribute{publicoverridevoidOnActionExecuting(ActionExecutingContextfilterContext){...}}但是我们怎样才能在ActionExecuting之前运行一个方法呢? 最佳答案 您正在寻找Controller.Exec

c# - Action<T> 还是 Action<in T>?

我在MSDN上阅读有关ActionDelegate的信息所以这符合语法publicdelegatevoidAction(Tobj);比我看的c-sharpcorner.com它使用了这种语法publicdelegatevoidAction(Tobj);如您所见,T之前没有in。哪种语法是正确的,in是什么意思?编辑:用于Predicate的相同语法。谢谢。 最佳答案 in和out(通用逆变和协变)仅在C#4中引入,委托(delegate)和接口(interface)针对.NET4进行了修改-所以Action在.NET3.5中变为Ac

c# - Asp Action 路线数据

在旧版本的MVC5中,我可以这样做来传递路由参数@Html.ActionLink("Newitem","Suggestion",newProductSuggestion(){Username=Model.Username},new{@class="btnbtn-default"})我正试图让它与新的asp-action方法一起工作,我发现我可以把它作为一种解决方法。但正确的语法是什么?@{vara=newDictionary{{"Username",Model.Username}};}Newitem 最佳答案 DavePaquett

c# - c# wpf 动画结束时运行 Action

我正在学习wpf,同时用它开发应用程序。我很难弄清楚如何在双动画(或其他类型)完成后运行某些东西。例如:DoubleAnimationmyanim=newDoubleAnimation();myanim.From=10;myanim.To=100;myanim.Duration=newDuration(TimeSpan.FromSeconds(3));myview.BeginAnimation(Button.OpacityPropert,myanim);//CodetodosomethingwhenanimationendsusingSystem;usingSystem.Collect

c# - 通过反射订阅任何事件类型的 Action

考虑:someControl.Click+=delegate{Foo();};事件的参数无关紧要,我不需要它们,我对它们也不感兴趣。我只是想让Foo()被调用。没有明显的方法可以通过反射来做同样的事情。我想把上面的内容翻译成类似的东西voidFoo(){/*launchmissilesetc*/}voidBar(objectobj,EventInfoinfo){ActioncallFoo=Foo;info.AddEventHandler(obj,callFoo);}此外,我不想假设传递给Bar的对象类型严格遵守对事件使用EventHander(TArgs)签名的准则。简而言之,我正在寻

c# - 封装 Action<T> 和 Func<T>?

我正在尝试为某种IExecutable接口(interface)进行设计。我不会详细介绍,但重点是我有几个需要从基类执行的操作。它们可能采用不同的参数(没什么大不了的),并且它们可能会/可能不会返回值。到目前为止,这是我的设计:publicabstractclassActionBase{//...snip...}publicabstractclassActionWithResultBase:ActionBase{publicabstractTExecute();}publicabstractclassActionWithoutResultBase:ActionBase{publicab

c# - 使用传递给 ActionResult 的参数的 MVC Action 过滤器?

我创建了一个自定义ActionFilter没问题。但我想修改ActionFilter以使用实际传递给我的方法的一些参数。所以如果我有以下方法:[HttpPost][MyAttribute]publicActionResultViewUserDetails(GuiduserId){//Dosomething}如何从MyAttribute中访问userId?有什么方法可以直接传入吗? 最佳答案 您可以尝试覆盖OnActionExecuting,您可以在其中访问操作参数。publicclassMyAttribute:ActionFilte

c# - 路由 : How to hide action name in url?

在MVC默认路由中routes.MapRoute("Default",//Routename"{controller}/{action}/{id}",//URLwithparametersnew{controller="Home",action="Index",id=UrlParameter.Optional}//Parameterdefaults);每当访问索引操作时,当访问“索引”操作时,url不会显示操作名称。我想在另一个Controller上获得该行为,该Controller正在检索单个项目的数据。我希望将默认操作命名为“get”,对于此操作,我希望url不显示操作名称,只显示