【问题标题】:asp.net MVC - variable value is not updatedasp.net MVC - 变量值未更新
【发布时间】:2026-01-28 08:00:01
【问题描述】:

视图中使用的变量在更改值时不会更新。

我已经完成了以下步骤。

  1. 我已经在视图中声明了变量。

  2. 然后我在视图中渲染之前更改了变量值。已更新。

  3. 渲染后,我立即更新了变量值。然后视图值不会更新为最新值。

这里我有一个困惑,因为字符串是对象。因此,无论何时更改字符串的值,都应更改参考值。为什么它在视图中没有改变。

<div class="col-md-6 col-md-offset-3">
                Declare and update variable value
                @{
                   string value="test value";

                    if(true)
                    {
                          value="value has been checked once";
                    }

                    <div>
                        @value
                    </div>

                   if(true)
                    {
                          value="Again value has been checked once";
                    }

                }
            </div>

输出

Declare and update variable value
value has been checked once

请参考样本 https://dotnetfiddle.net/GlmBBk

【问题讨论】:

  • 很难通过你的所有程序并给你结果。因此,我们更愿意将您的问题本身包含在此处,而不是将其放在 .net fiddle 中。向我们展示您的努力,让我们知道您在哪里需要帮助
  • 从您的示例看来,您希望在 MVC 中实现 MVVM 模式。您正在更改变量值,如果您想在浏览器中查看它,您只需要租用它即可查看。第一个值已经是视图中的租用者。而您对变量所做的第二个更改仅
  • @ArunprasanthKV 不要查看所有代码。请只看视图..不是小提琴中的任何代码
  • 我这边还是一样的想法。您不能期望 MVC 会出现这种行为。您已经更改了值并将其租用到发生的 div 中,现在该值在视图中。所以它就像现在写类似
    hi
    的东西。如果您再次更新 value 变量,它将不会更改。该变量的值将更改,如果您在此处放置断点,您可以看到它,如果您想看到它,您必须再次编写
    @variable
  • 谢谢..明白。我对角度的概念感到困惑

标签: asp.net asp.net-mvc


【解决方案1】:

正如标题所暗示的,您应该使用 MVC。在您的控制器中,您声明一个可以发送到视图的模型。然后视图将能够处理给定的值。然后,如果您希望进一步处理它们,您可以将模型中的值发布回控制器。

控制器

public ActionResult MyView(){
 var model = new MyViewModel{
   SomeProperty = "Hello"
}
}

型号

[Display(Name = "Greeting")]
public string SomeProperty{get; set;}

查看

@Html.LabelFor(m => m.SomeProperty)
@Html.DisplayFor(m => m.SomeProperty)

如果您想在视图中更改它,根据问题的性质,使用表单回发到控制器或使用 jquery/javascript 来更改变量。

【讨论】: