Asp.net mvc 3 如何从控制器上下文中找出它是视图还是局部视图?
我想知道我的观点是错误的还是片面的。或者一般来说,我们如何从控制器上下文中找出堆栈是its视图还是部分视图。获取堆栈跟踪,并尝试从中处理错误所在的位置。如果您需要在代码中执行此操作,您可能会使用StackTrace类或异常中的StackTrace(如果您正在捕获) 可以按如下方式处理堆栈跟踪:Asp.net mvc 3 如何从控制器上下文中找出它是视图还是局部视图?,asp.net-mvc-3,razor,Asp.net Mvc 3,Razor,我想知道我的观点是错误的还是片面的。或者一般来说,我们如何从控制器上下文中找出堆栈是its视图还是部分视图。获取堆栈跟踪,并尝试从中处理错误所在的位置。如果您需要在代码中执行此操作,您可能会使用StackTrace类或异常中的StackTrace(如果您正在捕获) 可以按如下方式处理堆栈跟踪: var stackTrace = new StackTrace(true); foreach (var r in stackTrace.GetFrames()) {
var stackTrace = new StackTrace(true);
foreach (var r in stackTrace.GetFrames())
{
Console.WriteLine("Filename: {0} Method: {1} Line: {2} Column: {3} ",
r.GetFileName(),r.GetMethod(), r.GetFileLineNumber(),
r.GetFileColumnNumber() );
}
您可以查看fileName属性是否与部分类文件匹配。您可以做的最好的事情是从控制器向ViewBag.isPartial添加一个bool 如果你真的想成为MVC的一员,你总是想使用持有者来获取这些信息,而且永远不会在视图端发现它们 另外,通常将同一视图用作局部视图和主视图都不是一个好主意。这意味着你没有很好地考虑到它所扮演的角色
这种类似设置最常见的用途是更改布局,即:对于移动设备、web等,嘿,调试时不需要这样做。我需要知道如何有效地处理错误。