微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 为传递给Partial View的模型设置默认值

我有一个局部视图,从另一个局部视图(一种嵌套的局部视图)调用.

外部局部视图称为Company,内部局部视图是名为searchHelp的自定义控件.两者都接受参数.

现在,Company视图获取了company类型的参数,searchHelper接受可选字符串.这部分工作正常,因为我正在测试null的模型值,并且当在其他视图中使用时,即使不传递参数,也将认文本分配为@((Model == null)?“输入文本”:模型).

在我的嵌套视图的情况下,如果我不提供字符串作为searchHelper的模型,那么它将公司作为外部视图中的模型,即公司,并给出错误.

解决方法

您可以在视图中调用它的位置为字符串模型分配认值:

//null coalesce to default string value:
@Html.Partial("searchHelp",Model.searchHelp ?? "default value")

…虽然您可以使用htmlhelper做得更好,您可以在其中定义认值一次:

public IHtmlString SearchHelp(this HtmlHelper html,string searchHelp = "default value")
{
    // make html here
}

然后

@Html.SearchHelp(Model.searchHelp);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐