我正在构建一个应用程序,其中有一个页面。该页面包含一些小部件,然后是一个部分视图,根据从下拉列表中选择的内容加载不同的视图。每个下拉列表选项都与不同的视图相关联,并且每个视图都有自己的字段和模型。
无论加载的视图如何,我都执行相同的操作-序列化模型并将XML存储在数据库中。这始终是这种情况,没有基于视图/模型的独特处理(除了字段不同之外)。所有模型都继承自相同的基类以进行序列化。
我想能够做到:
无论加载的视图如何,我都执行相同的操作-序列化模型并将XML存储在数据库中。这始终是这种情况,没有基于视图/模型的独特处理(除了字段不同之外)。所有模型都继承自相同的基类以进行序列化。
我想能够做到:
public ActionResult SubmitPartialView<T>(T model)
{
BaseClass baseClassModel = (BaseClass)(object)model;
// serialize and save to database
}
但MVC不允许这样做 - "因为该操作是一个通用方法,所以无法在控制器上调用操作"。
如果我尝试将BaseClass本身作为参数传递,它只包含基类的属性,因此没有模型的任何属性。
除了创建单独的操作来处理每个可以提交的视图并使每个操作调用处理逻辑的单独方法之外,难道没有其他选择吗?