代码之家  ›  专栏  ›  技术社区  ›  Michel

ASP.NET MVC 2在日志之间记住我的数据(不需要)

  •  3
  • Michel  · 技术社区  · 14 年前

    我有这样的发帖方法

    [HttpPost]
    public ActionResult Activatecard(ActivateCardViewModel model)
    

    然后我做事情,在方法的最后我做这个

    ActivateCardViewModel m = new ActivateCardViewModel();
    m.Currency = partner.DefaultCurrency;
    m.ActivateAmountCents = "00";
    return View(m);
    

    所以,我所期望的是,视图是用这个新的ActivateCardView对象呈现的,并且填充了2个属性(并显示在视图中)。 (在GeT中,我也这样做,它在那里也起作用)

    但是,正如你现在可能猜测的那样:)没有!

    它记住(显示)来自已发布对象(模型)的所有内容。

    我希望是设计出来的,有人能告诉我为什么……

    编辑

    当我发布56美分时,如代码所示,在新对象中输入00美分,它仍然显示56美分,因此它认为忽略我的新“m”变量是正确的。

    2 回复  |  直到 14 年前
        1
  •  4
  •   John Farrell    14 年前

    你在使用HTMLHelpers吗?

    如果modelstate包含与任何htmlhelper表单字段同名的键,则htmlhelpers将在使用models值之前使用modelstate值。重置此项的唯一方法是调整ModelState条目。

    ModelState.Clear();
    
        2
  •  1
  •   Naveen    14 年前

    @迈克尔:你可以用tempdata字典。tempdata字典在各种操作调用之间保持数据。

    此msdn链接解释了有关tempdata的更多信息 http://msdn.microsoft.com/en-us/library/dd394711.aspx