有没有办法更新视图中的模型?

Posted

技术标签:

【中文标题】有没有办法更新视图中的模型?【英文标题】:Is there any way to update the model in the view? 【发布时间】:2011-11-23 10:35:23 【问题描述】:

我正在用 mvc 3 编写一个项目。

我想使用 razor 在视图中设置一个对象。 为了得到这个值,我这样做了:@Model.UserName;,我得到了用户名。

我的问题是如何设置用户名。我想做类似的事情:@Model.userName="xxx";

提前致谢:)

【问题讨论】:

你能解释一下为什么是 -1 吗? 看起来你把 razor mvc 语法和 javascript 混在一起了。 【参考方案1】:

一开始你不能在 JS 中编写任何 c# 代码,我猜你正在尝试在 JS 中更改 post 数据, 之后,当您提交在服务器中处理的发布请求时,您的操作将获得预期的模型

有办法

<script type="text/javascript">
    $(function () 
        $("form").submit(function () 
            var form = this;
            form.UserName.value = "xxxxxx"
            form.submit();
        );
    )
</script>

【讨论】:

我明白你的问题了吗? 不,那我可以这样做:@html.EditorFor(model => model.userName) 说我想写一个链接的href 你能更详细地解释一下你需要什么来获得结果 我只想将现有值更改为另一个值 - 在视图中。【参考方案2】:

你可以这样做:

@model MyModel

@
    Model.Username = "xxx";

但我不确定你为什么要这样做。

【讨论】:

【参考方案3】:

这是解决我的问题的方法:

在javascript中:

 var jqvalue;
    .........
    .........
    $("#id").val(jqvalue);

剃须刀:

@Html.Hiddenfor(model => model.userName , new @Id ="id")

而且都在同一个视图中。

【讨论】:

以上是关于有没有办法更新视图中的模型?的主要内容,如果未能解决你的问题,请参考以下文章

当我导航回它时,有没有办法更新我的列表视图页面?

Angular 2组件模型刷新视图,无需模型更改

有没有办法将视图与视图模型分离,如下所示?

MVC 中的模型到视图通信?

有没有办法在模型而不是视图中使用复数()?

AngularJS 中的视图未更新