Asp.net mvc 2 在asp.net中显示时间?
我只是尝试在asp.net mvc2中显示时间。但是当我运行上面的程序时,它会出现下面的异常,你能告诉我是怎么回事吗 “/”应用程序中出现服务器错误。 指令或配置设置配置文件必须指定“varyByParam”属性。 描述:执行当前web请求期间发生未处理的异常。请查看堆栈跟踪以了解有关错误的更多信息以及错误在代码中的起源 异常详细信息:System.Web.HttpException:指令或配置设置配置文件必须指定“varyByParam”属性 源错误:Asp.net mvc 2 在asp.net中显示时间?,asp.net-mvc-2,datetime,outputcache,Asp.net Mvc 2,Datetime,Outputcache,我只是尝试在asp.net mvc2中显示时间。但是当我运行上面的程序时,它会出现下面的异常,你能告诉我是怎么回事吗 “/”应用程序中出现服务器错误。 指令或配置设置配置文件必须指定“varyByParam”属性。 描述:执行当前web请求期间发生未处理的异常。请查看堆栈跟踪以了解有关错误的更多信息以及错误在代码中的起源 异常详细信息:System.Web.HttpException:指令或配置设置配置文件必须指定“varyByParam”属性 源错误: 在执行当前web请求期间生成了未经处理的
在执行当前web请求期间生成了未经处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息。建议操作方法返回
ActionResult
,因此我建议您尝试此方法
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace MvcApplication3.Controllers
{
public class HomeController : Controller
{
[OutputCache(Duration=10)]
public string Index()
{
return DateTime.Now.ToString("T");
}
public ActionResult About()
{
return View();
}
}
}
或者,如果您只是想修复代码段,请尝试以下操作
[OutputCache(Duration = 10, VaryByParam="none")]
public ActionResult Temp()
{
return Content(DateTime.Now.ToString("T"));
}
正如错误消息所述,您需要为正在使用的缓存指定VaryByParam属性:
[OutputCache(Duration = 10, VaryByParam="none")]
public string Temp()
{
return DateTime.Now.ToString("T");
}
此外,控制器操作通常应返回ActionResults,而不是字符串:
[OutputCache(Duration = 10, VaryByParam = "none")]
public string Index()
{
return DateTime.Now.ToString("T");
}
[OutputCache(Duration = 10, VaryByParam = "none")]
public ActionResult Index()
{
return Content(DateTime.Now.ToString("T"), "text/plain");
}