Asp.net mvc 5 MVC@helper的错误用法?
我制作了一个助手,用来帮助我调试我的应用程序 它首先显示一个标题。 然后它尝试运行一段代码,返回一个fews参数(对象数组)。 这些参数以字符串格式使用,该格式在块正常运行时显示。 如果该块导致异常,将显示异常 问题是,当我调用helper时,根本没有显示任何内容(我对该功能非常陌生) 怎么了Asp.net mvc 5 MVC@helper的错误用法?,asp.net-mvc-5,Asp.net Mvc 5,我制作了一个助手,用来帮助我调试我的应用程序 它首先显示一个标题。 然后它尝试运行一段代码,返回一个fews参数(对象数组)。 这些参数以字符串格式使用,该格式在块正常运行时显示。 如果该块导致异常,将显示异常 问题是,当我调用helper时,根本没有显示任何内容(我对该功能非常陌生) 怎么了 @{ Layout = "~/Views/Shared/_Layout.cshtml"; } @using MygLogWeb.Classes.Fox <span>test<
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
@using MygLogWeb.Classes.Fox
<span>test</span>
@helper TryMethod(
string header
, Func<object[]> act
, string successFormat
)
{
@Html.Raw(String.Format(
@"<h2>{0}</h2>"
, HttpUtility.HtmlEncode(header)
));
try
{
var args = act();
if (successFormat == null)
{
@Html.Raw(@"<span class='Success'>OK</span>");
}
else
{
@Html.Raw(String.Format(
@"<span class='Success'>{0}</span>"
, HttpUtility.HtmlEncode(String.Format(
successFormat
, args
))
));
}
}
catch (Exception exe)
{
@Html.Raw(String.Format(
@"<span class='Error'>{0}</span>"
, HttpUtility.HtmlEncode(exe.Message)
));
}
}
<span>test</span>
@{
TryMethod(
"Cust.Columns"
, () => {
return new object[]
{
Cust.Columns.Count
};
}
, "Count: {0}"
);
}
<span>test</span>
@{
Layout=“~/Views/Shared/_Layout.cshtml”;
}
@使用MygLogWeb.Classes.Fox
测试
@辅助训练法(
字符串头
,Func法案
,字符串成功格式
)
{
@Html.Raw(String.Format(
@"{0}"
,HttpUtility.HtmlEncode(标题)
));
尝试
{
var args=act();
if(successFormat==null)
{
@Html.Raw(@“OK”);
}
其他的
{
@Html.Raw(String.Format(
@"{0}"
,HttpUtility.HtmlEncode(String.Format(
成功格式
,args
))
));
}
}
捕获(异常exe)
{
@Html.Raw(String.Format(
@"{0}"
,HttpUtility.HtmlEncode(exe.Message)
));
}
}
测试
@{
试验方法(
“客户列”
, () => {
返回新对象[]
{
Cust.Columns.Count
};
}
,“计数:{0}”
);
}
测试
问题不在于helper方法本身,而在于执行
当您这样执行时:
@{
TryMethod(...);
}
代码已执行,但它是一个代码块,但未写入输出。
请改用以下语法:
@(TryMethod(...))
这应该行得通