2017-07-28 42 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來改變變量。