asp.net-mvc-2 – Asp.net Mvc显示String的模板,但现在每个简单类型都想使用它!

前端之家收集整理的这篇文章主要介绍了asp.net-mvc-2 – Asp.net Mvc显示String的模板,但现在每个简单类型都想使用它!前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我创建了一个显示模板,当传递一个字符串时会呈现一个禁用的文本框
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<String>" %>
<%: Html.TextBoxFor(model => model,new { disabled = "disabled" })%>

哪个效果很好.但是,出于某种原因,MVC想要通过它来尝试填充DateTimes和Ints,这会抛出异常

The model item passed into the dictionary is of type ‘System.Int32’,but this dictionary requires a model item of type ‘System.String’.

有任何想法吗?

解决方法

您不需要强烈地将模板键入String.

你可以尝试这样的事情:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<%= Html.TextBox("",ViewData.TemplateInfo.FormattedModelValue,new { disabled = "disabled" }) %>

在你看来,你这样称呼它

Html.DisplayModelFor(model => mode.name);

有关更多信息,请参阅他在MVM中的模板系列中的Brad Wilson article中字符串的默认内置编辑器模板示例.

你应该考虑完成整个系列.我无法表达这个系列对我有多大帮助.

猜你在找的asp.Net相关文章