من برای نمایش اعداد به صورت 123,456,789 از یک JQuery کد استفاده میکنم که کاما میندازه . اما هنگامی که می خوام این عدد را به مدل بدهم عدد درست ذخیره نمیشود و صفر منظور می شود.
کد مدل :
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:N0}")] public long Price { get; set; }
چطوری میشه که این کاما ها رو حذف کرد ؟
این کد ویو می باشد .
@({Html.TextBoxFor(m => m.Price, new { @class = "form-control PriceFormat",
replace رو کجا استفاده کنم ؟ توی property set مدل ؟
خیر
بازدن دکمه submit باید قبلش مقدار رو replace کنید و بعد فرم را submit
بله کاملا درست می فرمایید .. میشه با یه JQuery دیگه Replace کرد اونا را با مقدار هیچی ...
اما لطفا سوال منو از منظر خود برنامه نویسی ASP.NET MVC نگاه کنید .. من منظورم اینه این StringFormat ساز و کارش چطوریه ! مگه وقتی من توی مدل میگم که برای من یه همچین فرمتی درست که موقع ادیت هم اگه همین فرمت رو گرفتی برو درستش کن و دوباره برش گردون به شکل long .. , و اطلا فرض کنید من دارم به صورت دستی بین عددها سه تا درمیون کاما میزارم چون توی مدل یا ویو مدل بهش گفته شده فرمت نمایش اینه خودش نمی فهمه که باید اینو تبدیل بکنه ؟
نوع فیلد شما در مدل long است و موقع نمایش با String.Format بهش فرمت میدید در واقع دارید تبدیلش میکنید به String ، به همین دلیل موقع بازگشت از سمت View نیز باید ابتدا , را بردارید و سپس دوباره به long تبدیل کنید
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)