2017-08-16 182 views
0

是否可以從單選按鈕傳遞模型?我看過一些例子,但是它們通過了簡單的類型,例如stringsids,但是如果我要做一些更復雜的事情,這可能嗎?舉例來說,如果我有一個看起來像模型:從單選按鈕將模型傳遞給控制器​​

public class RestaurantMenuViewModel 
{ 
    public IEnumerable<RestaurantMenu> Menu { get; set; } 
} 

public class RestaurantMenu 
{ 
    public int Id { get; set; } 

    public string Course { get; set; 
} 

我可以在我看來,在視覺上結合這一點,但是我希望能夠選擇的項目傳遞給控制器​​不只是一個原始的領域(如ID或課程)。這可能嗎?

我想要調用下面的操作,但想要將完整模型傳遞迴控制器。

public ActionResult Update(RestaurantMenu menu) 
    { 
     return RedirectToAction("OK"); 
    } 
+0

簡短的回答是否定的。一個單選按鈕組只傳遞它所選按鈕的值(不是一個複雜的對象)。但是,爲什麼你想要呢?只需傳回選定的「Id」值,並且如果您需要「RestaurantMenu」對象,則再次從數據庫獲取它。 –

+0

這是方法,但希望不要再次擊中數據庫。這很好,但如果不可能,我有另一種選擇。 –

回答

0

如果我理解正確,可以試試這個。 創建一個對象數組,存儲來自您的單選按鈕的不同類型的數據,然後將其轉換爲模型;

object[] RestaurantMenuArray = new object[1]; 
object[0] = RestaurantMenu.Id; 
object[1] = RestaurantMenu.Course; 
RestaurantMenuArray.Select(array => new RestaurantMenu { Id = array[0], 
Course = array[1] }); 
相關問題