MVC ActionResult模型似乎正在使用缓存的视图

时间:2018-09-10 20:29:19

标签: c# asp.net asp.net-mvc

我有一条称为HttpGet的{​​{1}}路线和一条也称为EmailOptions()的{​​{1}}路线。此时,他们将返回一个名称(HttpPost)且视图模型为EmailOptions(OptionsVm emailOptions)的视图。 EmailOptions.cshtml包含一个域对象,该对象是一些布尔属性以及用于显示消息的字符串。

一旦我将某些OptionsVm的域对象bool设置为true并将 post 设置为OptionsVm,就将一个字符串设置为具有一条简单消息,然后重置将域对象更改为全新的域对象(因此,任何设置为true的都应还原为false)。

我希望看到的是与以前相同的页面,未选中bool(复选框),唯一的变化是有一个带有要显示的消息的字符串。但是,尽管确实使用新的字符串值设置了页面,但是bool复选框保留了and之前的先前检查状态。我知道这确实会走正确的 post 路线(毕竟字符串会被设置为新值),我只是不明白为什么域模型似乎保留了它以前的值,尤其是当我明确将域模型设置为新的域模型。

我的视图似乎正在缓存?但这没有道理。任何人都知道为什么会这样吗?

某些代码:

OptionsVm

1 个答案:

答案 0 :(得分:0)

首先,我不确定您是否可以通过POST操作返回视图。

所以从那里我看到2个选择:

也许您可以使用AJAX将数据发布到您的控制器,并获得包含文本的JSON响应。

OR

也许您可以在post控制器中使用RedirectToAction(“ name”,model)重定向到GET控制器。