diff options
Diffstat (limited to 'src/System.Web.Mvc/PartialViewResult.cs')
-rw-r--r-- | src/System.Web.Mvc/PartialViewResult.cs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/System.Web.Mvc/PartialViewResult.cs b/src/System.Web.Mvc/PartialViewResult.cs new file mode 100644 index 00000000..19e08795 --- /dev/null +++ b/src/System.Web.Mvc/PartialViewResult.cs @@ -0,0 +1,28 @@ +using System.Globalization; +using System.Text; +using System.Web.Mvc.Properties; + +namespace System.Web.Mvc +{ + public class PartialViewResult : ViewResultBase + { + protected override ViewEngineResult FindView(ControllerContext context) + { + ViewEngineResult result = ViewEngineCollection.FindPartialView(context, ViewName); + if (result.View != null) + { + return result; + } + + // we need to generate an exception containing all the locations we searched + StringBuilder locationsText = new StringBuilder(); + foreach (string location in result.SearchedLocations) + { + locationsText.AppendLine(); + locationsText.Append(location); + } + throw new InvalidOperationException(String.Format(CultureInfo.CurrentCulture, + MvcResources.Common_PartialViewNotFound, ViewName, locationsText)); + } + } +} |