我们的ASP.NET MVC 3应用程序发送了一些电子邮件。
在其中一封电子邮件中,我们想添加“您觉得这有用吗?”到电子邮件的页脚。
如果他们点击“是”,则需要在数据库中执行某些操作。
我应该采取什么方法来处理这些链接?
我真的不喜欢做GET的想法(例如当他们点击链接时),然后向数据库添加内容。 GET不应该更新状态。有没有办法可以让它做一个POST呢?
如果重要的话,我正在使用ActionMailer来执行电子邮件。
修改
要清楚,我是如何要求“如何”实现MVC方面的事情。我知道我可以创建一个带有id等的动作并保存到DB中,但我从REST风格的角度询问什么是正确的方法。
答案 0 :(得分:1)
您可以在电子邮件中创建表单并执行POST,但它不能与某些邮件客户端一起使用。以下是2007年的参考资料,其中显示了它的工作原理和不适用的地方: http://www.campaignmonitor.com/blog/post/2435/how-forms-perform-in-html-emai/
ETA:POST当然适合REST模式,但在你的情况下可能不是一个好的选择。因为你可能只是为了帮助增加一个计数器,所以暴露这个URL应该不会造成太大的问题。