以下是我的申请中的确切情况:
视图中有一个与GUID绑定的隐藏字段。
@Html.HiddenFor(m => m.CustomGuid)
还有另一个控制器操作,它返回包含TempData中GUID值的Json结果。
[HttpGet]
public ActionResult GetGuid()
{
string result = String.Empty;
if (GetTempData("mGuid") != null)
{
result = GetTempData("mGuid").ToString();
}
else
{
result = "INVALID_SESSION";
}
return Json(result, JsonRequestBehavior.AllowGet);
}
我在MyView.cshtml中编写了以下jquery
$。get('@ Url.Action(“GetGuid”,“Controller”)',function(result){
if (result.toString().toLowerCase() == $('#CustomGuid').val().toString().toLowerCase()) { alert('ok'); } else { alert('Invalid Identifier.'); window.location = '@Url.Action("ShowErrorPage", "Controller")'; return false; } });
问题是,它在IE和Firefox中运行良好,但它在TempData和HiddenField中总是有不同的GUID,因此每次都会给出“无效标识符”的消息
可能是什么原因?为什么Chrome中的这种行为会有所不同?
答案 0 :(得分:0)
我发现,服务器上缺少一个资源(简称轻量级CSS)文件。但是,CSS在网站上没有任何意义,但是如果没有找到任何资源,Chrome会重新加载页面,而IE和Firefox只会忽略。话虽如此,我可以设法通过删除CSS的引用来解决这个问题(在我的应用程序中绝对不需要)