2017-08-16 179 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] }); 
相关问题