我有一条称为HttpGet
的{{1}}路线和一条也称为EmailOptions()
的{{1}}路线。此时,他们将返回一个名称(HttpPost
)且视图模型为EmailOptions(OptionsVm emailOptions)
的视图。 EmailOptions.cshtml
包含一个域对象,该对象是一些布尔属性以及用于显示消息的字符串。
一旦我将某些OptionsVm
的域对象bool设置为true并将 post 设置为OptionsVm
,就将一个字符串设置为具有一条简单消息,然后重置将域对象更改为全新的域对象(因此,任何设置为true的都应还原为false)。
我希望看到的是与以前相同的页面,未选中bool(复选框),唯一的变化是有一个带有要显示的消息的字符串。但是,尽管确实使用新的字符串值设置了页面,但是bool复选框保留了and之前的先前检查状态。我知道这确实会走正确的 post 路线(毕竟字符串会被设置为新值),我只是不明白为什么域模型似乎保留了它以前的值,尤其是当我明确将域模型设置为新的域模型。
我的视图似乎正在缓存?但这没有道理。任何人都知道为什么会这样吗?
某些代码:
OptionsVm
答案 0 :(得分:0)
首先,我不确定您是否可以通过POST操作返回视图。
所以从那里我看到2个选择:
也许您可以使用AJAX将数据发布到您的控制器,并获得包含文本的JSON响应。
OR
也许您可以在post控制器中使用RedirectToAction(“ name”,model)重定向到GET控制器。