.Net MVC:从Javascript设置Model属性

时间:2010-09-23 13:28:42

标签: asp.net-mvc

所以这看起来应该很简单。我想从javascript中设置一个公共模型属性,该属性是在图像鼠标悬停时触发的。

这样的事情:

HTML:

... img src =“<%= Model.AppDetails.Logo%>”的onmouseover =“showMenu(本); ...

使用Javascript:

function showMenu(app){
  <%Model.CurrentId = app.id%> //app.id当然是未定义的
...

或者是一种更好的方法来调用控制器方法来设置它?如果是这样,最好的方法是什么?阿贾克斯?对于这么简单的事情来说,似乎很重要。

感谢反馈。

沙龙

1 个答案:

答案 0 :(得分:1)

你究竟想用Model.CurrentId做什么?如果您在页面下次发送信息时尝试将其发送回服务器,请使用隐藏字段或类似信息。

但是,如果您尝试在服务器上设置值,当用户将鼠标悬停在图像上时,您当然需要使用ajax或类似功能。服务器怎么会知道客户端在做什么。

如果您希望稍后在同一文件中使用Model.CurrentId,则还需要重新应用模板。在服务器上处理视图后,客户端没有来自模板的信息(客户端没有看到<%...%>标记,这些标记在发送之前在服务器上被替换。

我无法想象您希望在鼠标悬停时向服务器发送信息的任何情况,除非您还要获取信息(如扩展工具提示或图像弹出窗口),因此ajax可能是您的最佳选择。