ASP .Net Core:如何输入不同类型的数据集合

时间:2017-03-29 19:38:16

标签: c# asp.net .net asp.net-core asp.net-core-mvc

我想动态设置我在ASP.Net Core表单上输入的数据,包含不同的描述和数据类型。

我最初的想法是创建以下层次结构,在模型中保留IInputModel项列表,并为每个项生成局部视图:

public interface IInputModel
{
        string Description { get; set; }
}

public interface IInputModel<T> : IInputModel
{
    T Value { get; set; }
}

public class InputModelBase<T> : IInputModel<T>
{
    public T Value { get; set; }

    public string Description { get; set; }
}

public class SingleLineTextInputModel : InputModelBase<string>
{
}

以下是我的部分视图示例:

@using Microsoft.EntityFrameworkCore.Metadata.Internal
@model WebTranslator.Models.InputModels.SingleLineTextInputModel

<div>
    <div asp-validation-summary="ModelOnly" class="text-danger"></div>
    <div class="form-group">
        <label class="col-md-2 control-label">@Model.Description</label>
        <div class="col-md-10">
            <input asp-for="Value" class="form-control"/>
            <span asp-validation-for="Value" class="text-danger" />
        </div>
    </div>
</div>

但是,我注意到Asp.Net Core不包含Html.Action()帮助器,它可以允许我的IInputModel绑定到控制器中的某种类型的局部视图,我不想要在我看来写switch之类的内容。

问题是如何在主视图中为我的动态数据渲染部分视图(然后将输入的数据提交到表单)?或者可能有其他方法来实现动态数据输入?

0 个答案:

没有答案