MVC 2 Beta 2 - TempData Bug?

时间:2009-12-02 23:56:09

标签: asp.net-mvc

ASP.Net MVC 2 Beta -

我知道MVC 2 Beta中的TempData有一些变化。

当尝试使用TempData时,如果键名称get / set具有不同的区分大小写,则该键似乎不会被破坏。

e.g。

控制器中的

TempData["Message"] = message;

在视图

<% = TempData["message"]%>

我的观点将在消息中发挥作用,但它永远不会被破坏。因此,如果我重新定向到其我不认为区分大小写是MVC 1中的一个问题吗?

2 个答案:

答案 0 :(得分:2)

这似乎是一个错误。我在跟踪数据库中提交了一个工作项。谢谢你的报告。

答案 1 :(得分:0)

有趣。我想因为它不关心你设置tempdata值的情况,你可以把它看作一个bug。

E.g。如果你这样做:

TempData["Message"] = "Capital";
TempData["message"] = "Lower case";

然后访问TempData["Message"] - 它将等于Lower case

所以是的,你可以将其视为一个错误。

为了避免这样的事情,我喜欢使用一组常量来获取和设置ViewData和TempData值。

E.g。

public static class ViewDataKeys
{
    public const string HeadTitle = "HeadTitle";
    public const string PageTitle = "PageTitle";
    public const string FirstLevelMenuKey = "FirstLevelMenu";
    public const string SecondLevelMenuKey = "SecondLevelMenu";
    ... etc ...
}

HTHS,
查尔斯