0

我试图在控制器中使用一个单一@Html.BeginForm()Create动作。但是在视图和控制器操作中,我的模型都是抽象类。所以我需要根据用户的选择以某种方式在视图的表单中创建派生类,并通过基类将其发送到控制器,以便稍后通过检查基模型的类型在控制器操作中捕获它,例如

if(baseModel is derived1)
{}
else if(baseModel is derived2)
{}

我尝试在编辑器中投射模型,比如

   <div class="editor-label">
        @Html.LabelFor(model => ((YagliBoya)model).En) (cm)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => ((YagliBoya)model).En)
        @Html.ValidationMessageFor(model => ((YagliBoya)model).En)
    </div>

但它不起作用,更糟糕的是,表单尝试提交基类,然后抛出“无法创建抽象类”异常。我该如何扩展这些?

4

0 回答 0