【发布时间】:2020-01-23 22:50:02
【问题描述】:
我可以使用Keys 和Values 或名为TemplateInfo 的属性来初始化ViewDataDictionary,但不能同时使用两者。
这两个都行
Html.RenderPartial("~/Views/_myPartial1.cshtml", Model, new ViewDataDictionary
{
TemplateInfo = new TemplateInfo { HtmlFieldPrefix = "myForm_" }
});
或者这行得通
Html.RenderPartial("~/Views/_myPartial1.cshtml", Model, new ViewDataDictionary
{
{ "ButtonText", "Hello!" }
});
但不是两者都
Html.RenderPartial("~/Views/_myPartial1.cshtml", Model, new ViewDataDictionary
{
TemplateInfo = new TemplateInfo { HtmlFieldPrefix = "myForm_" },
{ "ButtonText", "Hello!" }
});
我收到一个错误---"Invalid initializer member declarator"
我猜这可能适用于其他类型的Dictionary / KeyValuePair 子类,所以这个问题的更一般形式可能是......
“有没有一种捷径可以用它的成员和附加属性来初始化一个字典的子类?
如果没有,那么有什么简单的选择吗?”
我们仍在使用 .Net 4.5,因此我可能无法访问 C# 的最新改进。
【问题讨论】:
标签: c# asp.net-mvc dictionary asp.net-mvc-4 asp.net-mvc-3