من یه html helper نوشتم برای اینکه یه تکست باکس داشته باشم که کنارش یه دکمه باشه برای browse کردن فایل ها و انتخاب فایل.
مشکل اینه که وقتی صفحه رو باز میکنم تو چند تا تب، توی هر تبی که محتوای تکست باکس رو تغییر بدم، توی همه تب ها تغییر میکنه. حتی اگه مرورگر دیگه هم باز کنم، بازم با هم تغییر میکنند!!!!
دلیلش رو کسی میدونه؟؟
برای helper کدم به این صورته:
public static MvcHtmlString FileChooseFor<TModel, TProperty>(this HtmlHelper<TModel> html, Expression<Func<TModel, TProperty>> expression, string displayName, string folder = "", string classes = "") { TModel model = html.ViewData.Model; string name = ExpressionHelper.GetExpressionText(expression); var metadata = ModelMetadata.FromLambdaExpression(expression, html.ViewData); var wrapper = new TagBuilder("div"); wrapper.AddCssClass("input-group " + classes); var textbox = html.TextBox(name, metadata.Model as string, new { @class = "form-control ltr", autocomplete = "off", maxlength = 2000 }); wrapper.InnerHtml = textbox.ToString(); var btngroup = new TagBuilder("span"); btngroup.AddCssClass("input-group-btn"); var btn = new TagBuilder("span"); btn.AddCssClass("btn btn-inverse OpenPopUp"); btn.Attributes.Add("data-folder", folder); btn.Attributes.Add("data-element", name); btn.InnerHtml = displayName; btngroup.InnerHtml = btn.ToString(); ; wrapper.InnerHtml += btngroup.ToString(); return new MvcHtmlString(wrapper.ToString()); }
که به این صورت استفاده میکنم:
@Html.FileChooseFor(model => model.PicUrl, "انتخاب تصویر", "software")
و به این تبدیل میشه:
<div class="input-group "> <input autocomplete="off" class="form-control ltr valid" data-val="true" data-val-length="حداکثر 150 کاراکتر" data-val-length-max="150" id="Pic" name="Pic" type="text" value=""> <span class="input-group-btn"> <span class="btn btn-inverse OpenPopUp" data-element="Pic" data-folder="software">انتخاب تصویر</span> </span> </div>
این پست در تاریخ {{ dateString(new Date(post.deleteDate)) }} توسط {{ post.deletedByUser }} حذف شده است.
دلیل حذف: {{ post.deleteReason ?? 'نامشخص' }}
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود