我有一个局部视图,从另一个局部视图(一种嵌套的局部视图)调用.
外部局部视图称为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] 举报,一经查实,本站将立刻删除。