2010-10-13 19 views
8

Tôi tạo ra một mẫu hiển thị mà khi đã thông qua một chuỗi ám một hộp văn bản tàn tậtAsp.net Mvc Hiển thị mẫu String, nhưng bây giờ mọi kiểu đơn giản đều muốn sử dụng nó!

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<String>" %> 
<%: Html.TextBoxFor(model => model, new { disabled = "disabled" })%> 

Những tác phẩm tuyệt vời. Tuy nhiên, vì lý do nào đó, MVC cũng muốn thử và ghi ngày tháng cũng như Ints thông qua nó, tức là ném ngoại lệ

Mục mẫu được chuyển vào từ điển thuộc loại 'System.Int32', nhưng từ điển này yêu cầu mục mẫu của loại 'System.String'.

Bất kỳ ý tưởng nào?

+0

Tên của tệp ascx vật lý là gì và bạn đang sử dụng mã nào để gọi nó? –

Trả lời

10

Bạn không cần phải nhập mạnh mẫu vào chuỗi.

bạn có thể thử một cái gì đó như thế này:

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

Và theo quan điểm của bạn, bạn gọi nó như thế này

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

Để biết thêm thông tin xem ví dụ về mặc định tích hợp trong mẫu biên tập viên cho các chuỗi trong Brad Wilsonarticle trong loạt bài của ông về Mẫu trong ASP.NET MVC.

Bạn nên xem xét việc trải qua toàn bộ chuỗi. Tôi không thể diễn tả cách hữu ích của loạt bài này đối với tôi.

+1

Người đàn ông cảm ơn ngọt ngào! Hoàn hảo! –

+0

Vui vì tôi có thể giúp :) –

Các vấn đề liên quan