2010-11-12 24 views
0

我有2種操作方法:從GET堅持視圖模型數據爲POST

[HttpGet] 
public ActionResult Customize() 
{ 
    return View(new CustomizeViewModel { Thing1 = "test", Thing2 = "test" }); 
} 

[HttpPost] 
public ActionResult Customize(CustomizeViewModel customizeViewModel) 
{ 
    _someService.DoSomething(customizeViewModel); 

    ... 
} 

我的視圖模型看起來像:

public class CustomizeViewModel 
{ 
    public string Thing1 { get; set; } 
    public string Thing2 { get; set; } 
    public string Thing3 { get; set; } 
} 

在我看來,我有對Thing3並收集值的文本框只顯示Thing1Thing2的值。我的問題是,當我POST並輸入Customize方法的POST版本時,我只得到Thing3(我輸入到文本框中的值)的值。有什麼方法可以獲取我在GET版本中填充的值Customize方法可以繼承?我試過UpdateModel()但是沒有奏效。

回答

1

這是隱藏輸入字段被創建的事物之一。在視圖中使用HiddenFor將值存儲在該視圖中,您應該設置。在HTTP POST版本中唯一可用的數據是表單輸入元素。

1

爲Thing1和Thing2添加隱藏字段。