首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MVC上的渲染事件之后。有可能吗?

在MVC上的渲染事件之后。有可能吗?
EN

Stack Overflow用户
提问于 2011-04-11 22:20:20
回答 2查看 1.6K关注 0票数 1

嘿。

我知道没有服务器控件和服务器端事件,但是...:

我的应用程序就像一个电子邮箱,未读的项目以粗体显示。

好的..。粗体的项目是未读的(isRead==false)。我想在没有任何点击的情况下将项目更新到(isRead=true)。就在页面呈现之前。

我怎么发动汽车呢?有没有办法在ASP.NET MVC中实现,或者我必须用JQuery来实现?

在呈现"View“之后调用方法的最佳方式是什么?

好了,伙计们!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-11 23:08:21

通常,一旦你的操作完成了它的事情,并且你已经将它放到了视图中,就不会再回到代码(可以这么说)了。有两种方法可以解决这个问题。

  1. 您可以创建要传递给视图的消息列表的副本,并将原始消息更改为isRead=true。我想说这是解决问题的首选方法,代码将类似于: var viewMessages = from m in messages select new Message { //您想要复制的字段} viewMessages.ToList();//这实际上从查询中创建了一个列表//更新isRead属性foreach(消息中的var m ){ m.isRead = true;}

您现在有两个集合,一个是可以传递给视图以正确呈现数据的原始数据副本,另一个是使用isRead = true.

  • The other选项更新的所有项的原始集合从设计角度看不是很好,但它将能够实现相同的目标。您可以将更新属性的代码直接放到视图中,就在您检查是否已读或未更改粗体的位置下方。我假设你的观点是这样的:

@foreach(View.Messages中的var消息){ //一些代码

票数 0
EN

Stack Overflow用户

发布于 2011-04-11 22:35:54

如果您只想更新视图,则可以在将模型传递给视图之前更改模型,也可以在页面加载到浏览器之后使用jQuery修改DOM。

另一方面,如果您试图更改模型(并将其保留为已读),则可以在将模型传递给视图之前查询模型时更新模型,也可以使用JavaScript (jQuery)在服务器上点击一个链接,告诉您在读取时标记这些条目。

然而,正如R0MANARMY所说的,仅仅因为有人浏览了你的条目的标题,并不意味着他们已经承认了它的存在。

这可以通过打开单个条目的链接来查看该条目的详细信息,并让您的逻辑将单个条目标记为已读。

希望这能对您有所帮助:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5622663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档