Quelqu'un peut-il me dire comment utiliser DataType.Custom dans ASP.NET MVC 2?Comment utiliser DataType.Custom dans ASP.NET MVC 2?
Répondre
Je ne l'ai pas utilisé personnellement, mais en regardant le MSDN, il semble être juste une question de réglage DataType = DataType.Custom
et CustomDataType = "String"
. Ensuite, lorsque vous traitez votre modèle, vous devez rechercher DataType.Custom et, s'il est trouvé, effectuer différentes opérations en fonction de la valeur de CustomDataType.
voici l'exemple qu'ils donnent sur le MSDN - How to: Customize Data Field Appearance and Behavior For Non-Intrinsic Data Types in the Data Model:
public partial class TextField : System.Web.DynamicData.FieldTemplateUserControl {
string getNavUrl() {
var metadata = MetadataAttributes.OfType<DataTypeAttribute>().FirstOrDefault();
if (metadata == null)
return FieldValueString;
switch (metadata.DataType) {
case DataType.Url:
string url = FieldValueString;
if (url.StartsWith("http://", StringComparison.OrdinalIgnoreCase) ||
url.StartsWith("https://", StringComparison.OrdinalIgnoreCase))
return url;
return "http://" + FieldValueString;
case DataType.EmailAddress:
return "mailto:" + FieldValueString;
default:
throw new Exception("Unknown DataType");
}
}
protected override void OnDataBinding(EventArgs e) {
base.OnDataBinding(e);
if (string.IsNullOrEmpty(FieldValueString))
return;
var metadata = MetadataAttributes.OfType<DataTypeAttribute>().FirstOrDefault();
if (metadata == null || string.IsNullOrEmpty(FieldValueString)) {
Literal literal = new Literal();
literal.Text = FieldValueString;
Controls.Add(literal);
return;
}
if (metadata.DataType == DataType.Url ||
metadata.DataType == DataType.EmailAddress) {
HyperLink hyperlink = new HyperLink();
hyperlink.Text = FieldValueString;
hyperlink.NavigateUrl = getNavUrl();
hyperlink.Target = "_blank";
Controls.Add(hyperlink);
return;
}
if (metadata.DataType == DataType.Custom &&
string.Compare(metadata.CustomDataType, "BoldRed", true) == 0) {
Label lbl = new Label();
lbl.Text = FieldValueString;
lbl.Font.Bold = true;
lbl.ForeColor = System.Drawing.Color.Red;
Controls.Add(lbl);
}
}
}
Je avais lu sur la série ASP.NET MVC 2 Modèle de Brad Wilson sur son blog here. Il explique ce que vous demandez mieux que moi.
Espérons que ça aide.
N'utilisez pas DataType.Custom
.
Utilisez à la place [DataType("YourCustomDataTypeHere")]
avec un éditeur/modèle d'affichage nommé YourCustomDataTypeHere
.
- 1. ASP.NET MVC 2 - Comment utiliser DropDownListFor?
- 2. objet dans asp.net mvc 2
- 3. MVC 2: Comment utiliser Html.DropDownListFor?
- 4. ASP.NET MVC 2 i18n
- 5. HttpStatusCodeResult dans ASP.NET MVC 2
- 6. Comment puis-je utiliser ninject 2.0 avec asp.net mvc 2?
- 7. Autofac dans Asp.net mvc 2
- 8. ASP.NET MVC 2 - Organisation
- 9. Quand utiliser un contrôleur asynchrone dans asp.net mvc 2?
- 10. Paging dans asp.net-mvc-2
- 11. RadioButtonFor dans ASP.NET MVC 2
- 12. validation dans ASP.NET MVC 2
- 13. ASP.NET MVC 2 DisplayFor()
- 14. ASp.Net MVC 2 Performance
- 15. DataAnnotations Validation jQuery dans asp.net mvc 2
- 16. Comment installer ASP.NET MVC 2 Futures?
- 17. ASP.Net MVC 2 Default.aspx
- 18. asp.net mvc 2 multithread
- 19. Tutoriel ASP.NET MVC 2
- 20. Asp.Net MVC 2 Validation
- 21. Asp.net MVC 2 ValidationInput
- 22. L'intégration de CKEditor dans ASP.NET MVC 2?
- 23. Comment utiliser JQuery Validation dans ASP.NET MVC?
- 24. Téléchargement de fichier dans Asp.Net MVC 2
- 25. ASP.NET-MVC 2 DataAnnotations StringLength
- 26. Pages maîtres imbriquées dans ASP.NET MVC 2
- 27. REST pour ASP.NET MVC inclus dans MVC 2?
- 28. ASP.NET MVC 2 Preview 2 - Étendre LabelExtensions.LabelFor
- 29. Asp.net MVC 2 Localisation Problème dans dev
- 30. Comment RESTful supprimer l'enregistrement Asp.Net Mvc 2
Pour développer un peu la réponse de MushinNoShin, créez un nouveau fichier ici: Views \ Shared \ DisplayTemplates \ YourCustomDataTypeHere.cshtml –