草庐IT

action-menu

全部标签

c# - ASP.NET MVC : What is the correct way to redirect to pages/actions in MVC?

我是MVC的新手,但不确定究竟是哪个重定向...替换WebForms中使用的标准重定向是标准的Response.Redirect()例如,我需要在几个场景中重定向到其他页面:当用户注销时(操作中的表单注销​​)我想重定向到登录页面。在Controller或基本Controller事件中,例如Initialize,我想重定向到另一个页面(AbsoluteRootUrl+Controller+Action)似乎在某些情况下调用多个重定向会导致错误,这与页面已经被重定向有关吗?如何取消当前请求,只重定向?更新:这个问题的答案(System.Web.Mvc.ControllerInitiali

c# - 使用 Action.Invoke 是否被认为是最佳实践?

如果我有下面的代码,我应该只调用Action还是应该调用Action.Invoke?publicclassClassA{publiceventActionOnAdd;privatevoidSomethingHappened(){if(OnAdd!=null)OnAdd("ItHappened");//ShoulditbeOnAdd.Invoke("ItHappened")???????}}publicclassClassB{publicClassB(){varmyClass=newClassA();myClass.OnAdd+=Add;}privatevoidAdd(stringInp

c# - 使用 Action.Invoke 是否被认为是最佳实践?

如果我有下面的代码,我应该只调用Action还是应该调用Action.Invoke?publicclassClassA{publiceventActionOnAdd;privatevoidSomethingHappened(){if(OnAdd!=null)OnAdd("ItHappened");//ShoulditbeOnAdd.Invoke("ItHappened")???????}}publicclassClassB{publicClassB(){varmyClass=newClassA();myClass.OnAdd+=Add;}privatevoidAdd(stringInp

c# - 如何从 Referrer Uri 中获取 Controller 和 Action 名称?

有很多关于从Controller和Action名称构建Uris的信息,但我该如何反过来做呢?基本上,我想要实现的是从引用页面(即Request.UrlReferrer)获取Controller和操作名称。有没有一种简单的方法可以实现这一点? 最佳答案 我认为这应该可以解决问题://Splittheurltourl+querystringvarfullUrl=Request.UrlReferrer.ToString();varquestionMarkIndex=fullUrl.IndexOf('?');stringqueryStrin

c# - 如何从 Referrer Uri 中获取 Controller 和 Action 名称?

有很多关于从Controller和Action名称构建Uris的信息,但我该如何反过来做呢?基本上,我想要实现的是从引用页面(即Request.UrlReferrer)获取Controller和操作名称。有没有一种简单的方法可以实现这一点? 最佳答案 我认为这应该可以解决问题://Splittheurltourl+querystringvarfullUrl=Request.UrlReferrer.ToString();varquestionMarkIndex=fullUrl.IndexOf('?');stringqueryStrin

c# - 如何在 ASP.NET MVC Url.Action 中使用 C# nameof()

有没有推荐的方法使用新的nameof()Controller名称在ASP.NETMVC中的表达式?Url.Action("ActionName","Home")对比Url.Action(nameof(ActionName),nameof(HomeController))显然它不起作用,因为nameof(HomeController)转换为"HomeController"而MVC需要的只是"Home". 最佳答案 我喜欢James'suggestion使用扩展方法。只有一个问题:尽管您正在使用nameof()并消除了魔术字符串,但类型

c# - 如何在 ASP.NET MVC Url.Action 中使用 C# nameof()

有没有推荐的方法使用新的nameof()Controller名称在ASP.NETMVC中的表达式?Url.Action("ActionName","Home")对比Url.Action(nameof(ActionName),nameof(HomeController))显然它不起作用,因为nameof(HomeController)转换为"HomeController"而MVC需要的只是"Home". 最佳答案 我喜欢James'suggestion使用扩展方法。只有一个问题:尽管您正在使用nameof()并消除了魔术字符串,但类型

c# - 代码契约构建引用装配 Action

我正在使用代码契约并试图了解我应该使用哪个构建选项以及何时使用。合约程序集构建选项在项目属性中定义代码契约->契约引用程序集:无build不要build有什么想法或建议吗? 最佳答案 契约(Contract)引用程序集是一种特殊的程序集,它保留您在源代码文件中定义的任何代码契约(Contract)。这是必要的,因为在编译时,代码合约的“重写器”(ccrewriter)删除或替换每个合约具有等效的验证代码(Contract.Requires(someBool)可能重写为if(!someBool)throw)。如果没有代码契约,如果您稍

c# - 代码契约构建引用装配 Action

我正在使用代码契约并试图了解我应该使用哪个构建选项以及何时使用。合约程序集构建选项在项目属性中定义代码契约->契约引用程序集:无build不要build有什么想法或建议吗? 最佳答案 契约(Contract)引用程序集是一种特殊的程序集,它保留您在源代码文件中定义的任何代码契约(Contract)。这是必要的,因为在编译时,代码合约的“重写器”(ccrewriter)删除或替换每个合约具有等效的验证代码(Contract.Requires(someBool)可能重写为if(!someBool)throw)。如果没有代码契约,如果您稍

c# - 我可以使用带输出参数的 Action<> 或 Func<> 吗?

我有一个带有out参数的方法,我想指向一个Action或Func(或其他类型的委托(delegate))就可以了。这很好用:staticvoidFunc(inta,intb){}Actionaction=Func;然而这不是staticvoidOutFunc(outinta,outintb){a=b=0;}Actionaction=OutFunc;//loadsofcompileerrors这可能是重复的,但搜索“outparameter”并不是特别有效。 最佳答案 Action和Func具体不带out或者ref参数。然而,他们只是