2017-07-28 49 views
-4

更改值时,视图中使用的变量不会更新。asp.net MVC - 变量值未更新

我已经完成了以下步骤。

  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

+0

这将是很难通过你的所有程序,并给你结果。因此,我们宁愿将您的问题包含在本身,而不是将其放入.net小提琴。告诉我们你的努力,并让我们知道你需要帮助 –

+0

你的例子看起来你正在寻找在MVC中实现MVVM模式。您正在更改变量值,只有您必须将其租用才能查看是否要在浏览器中查看它。第一个值在视图中已经是租房了。第二个变化是你只为变量做的 –

+0

@ArunprasanthKV不要看所有的代码。请看看只有视图..没有任何代码从小提琴 –

回答

-1

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

控制器

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

模型

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

VIEW

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

如果你想改变它,而上来看,depedning对你的问题的性质,使用一个表单发回控制器或jQuery/JavaScript来改变变量。