ASP.NET MVC 4-从视图更新模型

让·杜邦

我正在使用ASP.NET MVC 4,但是在理解方面存在一些问题。为了获得更好的解释,我将使用一种简单的“合成”情况。假设我有一个模型人,具有2个属性:

  • 字串名称
  • PersonType类型(例如,学生,员工,军事人员...)

假设在我的控制器中我有私有财产Person。我可以在Index方法中初始化此对象,传递给View并构建html页面。好的。

现在,当用户在客户端更新人员实例的字段之一(他可以输入新人员名称或使用下拉列表选择新人员类型)时,我想立即更新我的模型。因此,我的一般问题是如何实现?

对我来说显而易见的解决方案:我可以使用新数据将ajax请求从JS发送到控制器。我以为我可以调用控制器的方法UpdateName(string name)并使用新数据手动更新属性Name。但是我的人员实例在此方法中为NULL!我的第二个问题是为什么我不能从其他方法访问初始化的模型对象?我认为这全是我对客户端服务器交互的不了解。

我的情况的最后一种情况是:当用户单击“保存”按钮时,我想将创建的人保存到服务器端的文件中,但是我不想使用任何形式并在单击此按钮后立即接收所有需要的数据(因为在我的实际任务中,我无法使用表单,并且单击按钮后也无法从html页面接收所有必需的字段)。

我找到了肮脏的解决方案。在JS中,我创建了另一个具有相同属性的类Person。现在,我可以根据需要更新此类的实例,并将json数据传递到服务器以进行保存。

有没有更好的解决方案?

秀美

具有javascript对象来表示您的模型并不那么肮脏。实际上,这就是我的做法。我使用KnockoutJS给我一个客户端模型-本质上是MVVM模式。

您试图以一种您无法使用的方式来使用MVC模型。但是,您可以按照自己的意愿使用Knockout模型。基本上,您具有服务器端模型的javascript表示,一旦完成,就将其发送到服务器。

为了使服务器端方法能够选择客户端模型,您只需确保发布请求中包含数据,并且只要属性名称在方法参数中相同即可匹配即可。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ASP.NET MVC视图模型呈现

来自分类Dev

ASP.NET MVC视图模型呈现

来自分类Dev

从ASP.NET MVC 4更新到MVC 5的视图中没有Intellisense

来自分类Dev

用部分视图更新asp.net MVc 4视图的一部分

来自分类Dev

Asp.net mvc4在布局中具有模型的局部视图

来自分类Dev

ASP.NET MVC 4 JSON绑定到视图模型-嵌套对象错误

来自分类Dev

从“编辑”视图返回的ASP.NET MVC 4模型属性值丢失

来自分类Dev

如何将模型从视图传递到ASP.NET MVC4中的javascript

来自分类Dev

ASP.NET MVC 4发送模型-视图到控制器

来自分类Dev

ASP.NET MVC复杂模型更新

来自分类Dev

ASP.NET MVC 视图未更新

来自分类Dev

具有相关实体的ASP.NET MVC 4错误更新实体框架模型

来自分类Dev

在ASP.NET MVC 4和KnockoutJS中使用主从表单时,视图未更新

来自分类Dev

在ASP.Net MVC 4中将模型传递给具有视图名称的视图

来自分类Dev

Asp.net MVC数据模型或视图模型

来自分类Dev

在ASP.NET MVC4中获取模型的QueryString

来自分类Dev

JSON的ASP.NET MVC 4递归模型绑定

来自分类Dev

无需数据库的ASP.NET MVC 4模型

来自分类Dev

呈现视图时,ASP.NET MVC 4速度很慢

来自分类Dev

在ASP.NET MVC 4中使用共享视图

来自分类Dev

在Asp.Net MVC 4中创建视图时出错

来自分类Dev

如何在ASP.NET MVC 4中显示从模型到另一个视图的列表

来自分类Dev

如何从视图传递枚举到模型ASP.Net MVC

来自分类Dev

基于单个模型的MVC ASP.NET多视图

来自分类Dev

asp.Net MVC视图模型在发布时为空

来自分类Dev

ASP.NET MVC绑定到视图模型

来自分类Dev

来自键/值对的ASP.NET MVC视图模型

来自分类Dev

ASP.NET MVC 5模型绑定编辑视图

来自分类Dev

ASP.NET MVC Partiel视图模型绑定

Related 相关文章

热门标签

归档