Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如果Html.RenderAction或Html.Action失败_C#_Asp.net Mvc_Asp.net Mvc 3_Asp.net Mvc 4 - Fatal编程技术网

C# 如果Html.RenderAction或Html.Action失败

C# 如果Html.RenderAction或Html.Action失败,c#,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-4,C#,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc 4,因此,页面中有多个部分,如果其中一个部分无法呈现,则页面的其余部分呈现时不会出现问题。下一个请求,一切正常,或者至少在修复之前,所有站点都不会停止运行。这是由于SOA 我想通过Html.RenderAction或Html.Action做同样的事情 因此,如果我有@Html.RenderAction(“Foo”,“Bar”)并且调用失败,我仍然希望页面上的其他部分能够呈现 这可能吗?如果是这样,怎么做?try/report/swallow?您可以在Razor.cshtml文件中使用标准的C#try

因此,页面中有多个部分,如果其中一个部分无法呈现,则页面的其余部分呈现时不会出现问题。下一个请求,一切正常,或者至少在修复之前,所有站点都不会停止运行。这是由于SOA

我想通过
Html.RenderAction
Html.Action
做同样的事情

因此,如果我有
@Html.RenderAction(“Foo”,“Bar”)
并且调用失败,我仍然希望页面上的其他部分能够呈现

这可能吗?如果是这样,怎么做?try/report/swallow?

您可以在Razor.cshtml文件中使用标准的C#try/catch/finally块

@{
    try
    {
        Html.RenderAction("asdfasdf");   
    }
    catch
    {
        Output.WriteLine("<p>Failed to load asdfasdf</p>");
    }
}
@{
尝试
{
Html.RenderAction(“asdfasdf”);
}
接住
{
Output.WriteLine(加载asdfasdf失败

); } }
创建助手方法,分别调用
Html.TryRenderAction
Html.TryAction
,而不是
Html.RenderAction
Html.Action


反过来,这些应该调用现有的方法,但是它们应该在
try
块中调用,该块捕获并记录异常,而不会放弃页面的其余部分。

您在这家最大的互联网公司使用了哪种技术?哇。你问了一个问题,我试着深入研究并得到这样的答案?我可以从一个新手那里得到,而不是像你这样的用户。回到雅虎回答,天才。如果我伤害了你的感情,我很抱歉。谢谢你的否决票。我没有否决这个问题。尽管你很粗鲁,但这是个好问题,不值得投反对票。这就是SO的工作原理,你知道。输出为+1。WriteLine