c# - HtmlHelper extension alter the value of the property passed in -


i have html helper display phone numbers text boxes in friendly way. usage:

html.phonenumberfor(m => m.phonenumber) 

i want take number "1111111111" , output "(111)111-1111". have tried updating viewdata of html helper grabbing property expression in html helper extension method, doesn't seem work. so, know how can update value of property in expression object? here code doesn't work:

public static mvchtmlstring phonenumberfor<tmodel>(this htmlhelper<tmodel> helper, expression<func<tmodel, string>> expression, object htmlattributes)     {         var value = modelmetadata.fromlambdaexpression(expression, helper.viewdata).model string;          if (!string.isnullorempty(value) && value.length == 10)         {             value = string.format("({0}){1}-{2}", value.substring(0, 3), value.substring(3, 3), value.substring(6));                              var fieldname = helper.viewcontext.viewdata.templateinfo.getfullhtmlfieldname(expressionhelper.getexpressiontext(expression));             helper.viewdata[fieldname] = value;          }          return helper.textboxfor(expression, htmlattributes);                } 

i create custom displayformatattribute have apply on phonenumber properties.


Comments

Popular posts from this blog

android - getbluetoothservice() called with no bluetoothmanagercallback -

sql - ASP.NET SqlDataSource, like on SelectCommand -

ios - Undefined symbols for architecture armv7: "_OBJC_CLASS_$_SSZipArchive" -