Ana içeriğe atla

evnets component / partial ve html

html önce render edilir performans sorun olacaksa viewcomponent tercih edilir sadece ilgili zone da render edilir... 

viewcomponent
_widgetProvider.RegisterViewComponent<NewFileUploaderViewComponent>(
    "file_uploader",
    order: 0
);
html
_widgetProvider.RegisterHtml("scripts", new HtmlString(GetSummernoteOverrideScript()));
        private string GetSummernoteOverrideScript()
        {
            return @" 
                    html metin
     
                ";
        }


        public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
        {
            var route = context.RouteData.Values;

            if (route["area"]?.ToString() == "Admin")
            {
                // 1. INPUT MODELİ ALMAK (Action'a gelen parametre)
                // Eğer metod Edit(ProductModel model) şeklindeyse:
                var model = context.ActionArguments.Values.FirstOrDefault();

                // 2. VEYA MODELİ MANUEL OLUŞTURMAK
                // Eğer sadece ID ile bir işlem yapacaksan:
                // var model = route["id"];

                if (model != null)
                {
                    // Partial'ı render etmek için context'i beslemelisin
                    var partialHtml = await _htmlHelper.PartialAsync("_YourPartialName", model);
                    _widgetProvider.RegisterHtml("file_uploader", partialHtml);
                }

                // Hijack scriptini buraya eklemeyi unutma
                _widgetProvider.RegisterHtml("scripts", new HtmlString(GetSummernoteOverrideScript()));
            }

            await next();
        }

Yorumlar