问题标签 [asp.net-mvc-controller]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - 在多租户解决方案中动态设置母版页。
我在 .net mvc4 中创建了一个效果很好的多租户解决方案。我只剩下最后一期了。
我使用 OnResultExecuting 创建了自己的控制器,这很好,因为它允许我处理母版页,同时仍然保持我的多租户功能(在自定义视图引擎中路由)
我的代码看起来像这样
我唯一剩下的问题是我不能为某个客户制作某个页面使用不同的布局。
这是我能做的
- 不同的页面有不同的布局
- 为租户提供不同版本的布局
- 没有masterview(通过发送IGNORE)
但我不能做的是替换客户 X 的一个视图文件并让它使用 _LayoutX 代替。我仍然希望customerx的所有其他文件使用正常的_Layout
因为如果我为 customerX 创建一个 _Layout,那么所有 customerX 的页面都会使用它,而不是我想要的。如果我改为为 customerX 创建一个名为 _LayoutX 的文件,则无法将其应用于某个视图文件。因为即使我为 customerX 创建视图文件,它也会忽略我放入实际视图文件中的任何 @Layout,因为它将使用从自定义控制器获得的内容。
我想我能做的就是让 myView (全局)使用 _LayoutX (从控制器发送)。然后,我可以全局放置一个 _LayoutX,它是 _Layout 的克隆,但在 customerX 下我可以放置 _LayoutX,它实际上是我想要的唯一文件。这不是一个很好的解决方案,因为我什至在全球范围内都会获得两倍多的布局文件来跟踪。
有更好的想法吗?
asp.net-mvc - 无法在 ASP.NET MVC 项目中添加控制器
我正在尝试在我的 ASP.NET MVC 项目中添加一个控制器。
我使用的是 Entity Framework Code First (5.0),当我右键单击项目中的Controllers文件夹并选择Add Controller时:
在使用实体框架和其他设置选择具有读/写操作和视图的 MVC 控制器后,我收到以下消息:
生成“{0}”时出错。尝试重建您的项目。
更新
似乎我添加到的特殊构造函数DbContext
导致了问题。注释掉构造函数后,它又恢复了,但是出现了这条消息:
无论如何,我检查了活动日志并没有发现有关该问题的信息或发生时间线上的任何记录,如果您知道这是怎么回事,请发表评论。
asp.net-mvc - ASP.NET MVC:从另一个控制器调用一个控制器动作,并应用 ActionFilters
看看下面的代码。
当Get()
调用Foobar()
and时,修饰Foobaz()
的s不被调用。ActionFilter
Foobar()
Foobaz()
我怎样才能从内部调用这两个控制器动作Get()
,同时导致SomeAction
andAnotherAction
过滤器执行?
asp.net-mvc-3 - 如何获取已重定向的操作?
有没有办法获取在 ASP.NET MVC3 的控制器内重定向我的操作的名称?(顺便说一下,没有在 TempData 和 Session 中保存操作的名称)
asp.net - Asp.NET MVC4 - “这些都去哪儿了?”
我正在尝试制作一个 C# ASP.NET MVC4 站点。我真的不确定我的控制器文件是如何布置的。这是文件的外观:
似乎“某些类”和“某些功能”在这里不合适,但我不确定将它们放在哪里。有什么建议吗?让我知道它是否有助于粘贴整个文件!我认为上面会更容易。
编辑:谢谢你们的洞察力!所以我可以确定这一点,这里是类(你已经指出应该放在他们自己的cs文件中):
函数如下所示:
所以现在如果我能得到一些关于这些应该去哪里的反馈,我会很感激的。
performance - 如何使我的 Dynamic Linq 查询更高效
我编写了一个 mvc 控制器函数来处理动态查询,它工作得很好,但是对于一些更复杂的查询,它真的陷入了多达 15 秒的响应时间。我使用 ObjectQuery.ToTraceString 来获取 sql 并针对我的数据库执行它,我得到 1-2 秒的响应时间,虽然不是很好,但与我的服务器响应相同查询所需的时间大不相同。
这是我的代码:
这段代码应该处理这样的请求:
像上面这样的查询大约需要 700 毫秒,但如果我尝试更复杂的事情,它会慢到爬行(15 秒):
特别是导航属性似乎是一个问题,删除它会大大加快查询速度(3秒):
时间似乎都被用来迭代 IEnumerable,在我提供的代码中,我将数据传递出去,让任何底层 MVC 代码进行它想要的任何转换,这大约需要提到的时间。但是,如果我自己对其进行迭代,或者使用 ToList 函数,我会得到同样缓慢的响应时间。
有没有人知道是什么导致了这些实体的长时间停顿?
更新
我在我的数据库中添加了索引,这加快了速度,但是在 linq 中执行查询的时间仍然是在 sql 中执行查询的 20-30 倍。
asp.net-mvc-3 - MVC 3 Asp.net 测试的其他方式
我目前正在使用 HTML 和记事本测试 MVC 3 控制器和视图。如果您无法修改代码,还有其他方法可以进行测试吗?例如创建一个单独的项目来进行测试?
asp.net-mvc-4 - 使用区域管理 ASP .NET MVC 4 中的模型类
如何在访问 MVC 4 中主项目的 DBContext 的区域中创建控制器?
c# - Private variables in MVC Controller
I have a question about MVC architecture.
I have a class that collects data from a WCF service, lets call it 'WCFDataAccess'. This class exposes many different methods to get or set data.
Inside of the Home Controller in MVC I often need to use this 'WCFDataAccess' class to collect data for each of the routes.
Index route would potentially create an instance of the WCFDataAccess object and collect data. A different route, say 'IndexDetails' also needs to create an instance of the WCFDataAccess object to collect data.
Can I share an instance of the 'WCFDataAccess' class by making it a private variable inside of the Home controller without negative performance impact? If two requests come in at the same time to the controller class how does using the private variable work?
An additional thought is to use the HttpContext.Current.Cache class.
Any suggestions?
Thanks!
c# - should this mvc action be trimmed down
I'm just getting into mvc 4 (and mvc in general) and am just wondering is this action code ok or should it be stripped down again?
Basically if a resident order doesnt exist then we create one, this is the only place in the system where this would need to happen.
Should I still be stripping that code out into my repositories?
db is my IUnitOfWork btw