MVC3 根据 TextBox 中的值更改更新模型属性

发布于 2025-01-06 18:42:14 字数 409 浏览 0 评论 0原文

我正在开发 MVC3 Web 应用程序,在使用 AJAX 将值从模型传递回操作时遇到问题。

当我

1) 浏览到此视图 时 2) 更改数量文本框 3)点击保存,

我得到的“数量”值与将模型传递到视图时得到的值相同。我希望模型与文本字段同步,但显然它们不是。我需要同步模型 - 或者通过某种其他方式将新的“数量”值输入到 ActionLink 中。

-- 解决方案:

基本上,我的 FormCollection 没有更新的原因是因为我正在使用 Html.BeginForm 函数,并调用 Ajax.ActionLink。这些不能很好地协同工作。当更改为 Ajax.BeginForm 时,我成功地返回了更新后的 FormCollection。

(我现在无法在此处粘贴代码,因为它已经被重构了很多并且无法识别)

I'm working on a MVC3 web-application and encounter a problem when passing values from my model back to a Action using AJAX.

When I

1) browse to this view
2) alter the Quantity textbox
3) hit save

I get the same value for "Quantity" as I get when I pass the Model into the View. I would expect the Model to be synchronous with the Textfields but apperently they are not. I need either the Model to be synchronized - or some other way of getting the new "Quantity" value into the ActionLink.

-- SOLUTION :

Basically the reason why my FormCollection did not update was because I was using the Html.BeginForm function, and calling Ajax.ActionLink. These do not work well together. When changing to Ajax.BeginForm I successfully was able to return the updated FormCollection.

(I cannot paste code here now because it's been refactored alot and is not recognizable)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

近箐 2025-01-13 18:42:14

要更新模型,您需要发出 POST。然后,您需要使用 HttpPost 属性修饰您的 Save 方法,并接受您的模型作为第一个参数。框架会将参数传递给您。

这是该论坛的支持文章。

ASP.NET MVC [HttpPost] 操作接受单个对象,将验证错误返回到 ViewPage

编辑

添加了与 Ajax ActionLink 更直接相关的修改链接 -- MVC Ajax.ActionLink 找不到 POST 方法

To update a model you will need to issue a POST. Then you will need to adorn your Save method with the HttpPost attribute and accept your model as the first argument. The framework will pass the argument to you.

Here is a supporting article on this forum.

ASP.NET MVC [HttpPost] action accepts single object, spits back validation errors to ViewPage<CustomViewModel>

EDIT

Added a modified link more directly related to Ajax ActionLink -- MVC Ajax.ActionLink doesn't find POST method

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文