C# MVC 如何使用 TemplateInfo 和 KeyValuePairs 初始化 ViewDataDictionary
C# MVC How to initialize ViewDataDictionary with both TemplateInfo and KeyValuePairs
我可以用 Keys
和 Values
初始化一个 ViewDataDictionary
或一个叫做 TemplateInfo
的 属性 但不能同时初始化两者。
这两个都行
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# 的最新改进。
这对你有帮助吗?
var dict = new ViewDataDictionary
{
{ "ButtonText", "Hello!" }
};
dict.TemplateInfo = new TemplateInfo { HtmlFieldPrefix = "myForm_" };
Html.RenderPartial("~/Views/_myPartial1.cshtml", Model, dict);
我可以用 Keys
和 Values
初始化一个 ViewDataDictionary
或一个叫做 TemplateInfo
的 属性 但不能同时初始化两者。
这两个都行
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# 的最新改进。
这对你有帮助吗?
var dict = new ViewDataDictionary
{
{ "ButtonText", "Hello!" }
};
dict.TemplateInfo = new TemplateInfo { HtmlFieldPrefix = "myForm_" };
Html.RenderPartial("~/Views/_myPartial1.cshtml", Model, dict);