首页 > 解决方案 > 无法将类型 string[] 隐式转换为模型

问题描述

根据这个答案AllowHtml 不适用于 Array我做了必要的更改以遵循答案,但是在将值分配给数组时出现错误vls.HtmlTexts = form.GetValues(keys[i]);“无法将类型字符串 [] 隐式转换为模型”

StringBuilder output = new StringBuilder();
String[] keys = form.AllKeys;
HtmlValuesCollection vls = new HtmlValuesCollection();

for (int i = 0; i < keys.Length; i++)
{
    vls.HtmlTexts =  form.GetValues(keys[i]); 
    for (int j = 0; j < vls.HtmlTexts.Length; j++)
    {
        output.Append(vls.HtmlTexts[j]);
    }
    if (i < keys.Length-1)
    {
        output.Append(",");
    }
}

public class HtmlValues
{
    [AllowHtml]
    public String HtmlText { get; set; }
}

public class HtmlValuesCollection
{
    public HtmlValues [] HtmlTexts { get; set; }
}

有什么建议吗?

标签: c#model-view-controller

解决方案


您需要将结果转换为您想要的实际数组类型

(HtmlValues[])form.GetValues(keys[i]);

因为 GetValues 不是强类型的。


推荐阅读