C# “理解错误”;值不能为空";错误
我正在学习ASP.NET MVC 2,我的重点是“Ajax和客户端脚本” 我只是按照这本书编写了如下代码:C# “理解错误”;值不能为空";错误,c#,asp.net-mvc,asp.net-mvc-2,C#,Asp.net Mvc,Asp.net Mvc 2,我正在学习ASP.NET MVC 2,我的重点是“Ajax和客户端脚本” 我只是按照这本书编写了如下代码: public class MVCAJAXLearningsController : Controller { private Dictionary<string, double> offsets = new Dictionary<string, double> { { "utc", 0 }, { "bst", 1 }, { "mdt", -6 }, { "i
public class MVCAJAXLearningsController : Controller
{
private Dictionary<string, double> offsets = new Dictionary<string, double> { { "utc", 0 }, { "bst", 1 }, { "mdt", -6 }, { "ist", 5.5 } };
public ActionResult Index()
{
return View();
}
public ActionResult GetTime(string zone)
{
DateTime time = DateTime.UtcNow.AddHours(offsets[zone]);
if (Request.IsAjaxRequest())
{
string fragment = string.Format("<div>The time in {0} is {1:hh:MM:ss tt}</div>", zone.ToUpper(), time);
return Content(fragment);
}
else
{
return View(time);
}
}
}
公共类MVCAJAXLearningsController:控制器
{
专用字典偏移量=新字典{“utc”,0},{“bst”,1},{“mdt”,-6},{“ist”,5.5};
公共行动结果索引()
{
返回视图();
}
公共操作结果GetTime(字符串区域)
{
DateTime time=DateTime.UtcNow.AddHours(偏移量[区域]);
if(Request.IsAjaxRequest())
{
string fragment=string.Format({0}中的时间为{1:hh:MM:ss tt}),zone.ToUpper(),time);
返回内容(片段);
}
其他的
{
返回视图(时间);
}
}
}
我得到以下错误
如何解决这个问题?不是100%,但您似乎没有将参数传递给GetTime。不是100%,但您似乎没有将参数传递给GetTime。问题不是您的代码。MVC项目中包含一些库,这些库用于提交回您的母版页中未引用的控制器 如果您查看脚本文件夹,您将看到两个javascrip库,分别称为MicrosoftJax.js和MicrosoftMvcAjax.js。在项目运行时,需要加载这两个文件 只需将以下两行添加到站点母版页的部分:
<script src="<%: Url.Content("~/Scripts/MicrosoftAjax.js") %>" type="text/javascript"></script>
<script src="<%: Url.Content("~/Scripts/MicrosoftMvcAjax.js") %>" type="text/javascript"></script>
在那之后,你应该可以走了
试试这个,看看是否有帮助。问题不在于你的代码。MVC项目中包含一些库,这些库用于提交回您的母版页中未引用的控制器 如果您查看脚本文件夹,您将看到两个javascrip库,分别称为MicrosoftJax.js和MicrosoftMvcAjax.js。在项目运行时,需要加载这两个文件 只需将以下两行添加到站点母版页的部分:
<script src="<%: Url.Content("~/Scripts/MicrosoftAjax.js") %>" type="text/javascript"></script>
<script src="<%: Url.Content("~/Scripts/MicrosoftMvcAjax.js") %>" type="text/javascript"></script>
在那之后,你应该可以走了
试试这个,看看是否有帮助。您发送给操作的参数值是什么?razor中的一个示例:
@{Html.Renderaction(“GetTime”,“MVCAJAXLearnings”,new{zone=“ist”})}您向操作发送了什么参数值?razor中的一个示例:
@{Html.Renderaction(“GetTime”,“MVCAJAXLearnings”,new{zone=“ist”})}+1:具体来说,“zone”参数没有填充。您好,感谢您的回复。对我想你是对的。如何传递参数?你能建议我吗?+1:具体来说,“区域”参数没有填充。嗨,谢谢你的回复。对我想你是对的。如何传递参数?你能推荐我吗?嗨,谢谢你的回复。我已经这样做了。但是,仍然没有工作。嗨,谢谢你的回复。我已经这样做了。但是,仍然不起作用。