{"id":13807437,"url":"https://github.com/Jurioli/Blazor.WebForm.Components","last_synced_at":"2025-05-14T00:31:28.558Z","repository":{"id":38323812,"uuid":"394313925","full_name":"Jurioli/Blazor.WebForm.Components","owner":"Jurioli","description":"ASP.NET Web Forms System.Web.UI.WebControls Razor Components For Blazor WebAssembly, Blazor Hybrid, Blazor Server.","archived":false,"fork":false,"pushed_at":"2025-05-03T15:42:13.000Z","size":7382,"stargazers_count":50,"open_issues_count":0,"forks_count":9,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-05-03T16:46:38.391Z","etag":null,"topics":["asp-net","asp-net-core","blazor","blazor-component","blazor-components","blazor-server","blazor-webassembly","blazor-webforms","components","csharp","dotnet","wasm","webassembly","webforms"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Jurioli.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-08-09T14:04:02.000Z","updated_at":"2025-05-03T15:39:39.000Z","dependencies_parsed_at":"2023-12-09T06:32:44.292Z","dependency_job_id":"0c78c6ef-19c8-4281-af7f-4f4e1f572a6a","html_url":"https://github.com/Jurioli/Blazor.WebForm.Components","commit_stats":null,"previous_names":[],"tags_count":88,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jurioli%2FBlazor.WebForm.Components","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jurioli%2FBlazor.WebForm.Components/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jurioli%2FBlazor.WebForm.Components/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jurioli%2FBlazor.WebForm.Components/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Jurioli","download_url":"https://codeload.github.com/Jurioli/Blazor.WebForm.Components/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254046307,"owners_count":22005571,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asp-net","asp-net-core","blazor","blazor-component","blazor-components","blazor-server","blazor-webassembly","blazor-webforms","components","csharp","dotnet","wasm","webassembly","webforms"],"created_at":"2024-08-04T01:01:25.471Z","updated_at":"2025-05-14T00:31:23.540Z","avatar_url":"https://github.com/Jurioli.png","language":"C#","readme":"# Blazor.WebForm.Components\n ASP.NET Web Forms System.Web.UI.WebControls Razor Components For Blazor WebAssembly, Blazor Hybrid, Blazor Server.\n\nDemo: \u003chttps://blazorwebformdemo.github.io/\u003e\n\n[![NuGet version (Blazor.WebForm.Components)](https://img.shields.io/nuget/v/Blazor.WebForm.Components)](https://www.nuget.org/packages/Blazor.WebForm.Components/)\n\n\u003cpre style=\"background-color: #eeeeee; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; color: #333333; font-family: \u0026quot;Source Code Pro\u0026quot;, Consolas, Courier, monospace; font-size: 15px; line-height: 22px; margin-bottom: 22px; margin-top: 22px; max-width: 100%; overflow: auto; padding: 4.5px 11px;\"\u003e\u003ccode class=\"language-cs hljs\" style=\"background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-radius: 0px; border: none; display: block; font-family: \u0026quot;Source Code Pro\u0026quot;, Consolas, Courier, monospace; font-size: 1em; line-height: inherit; margin: 0px; overflow-x: auto; padding: 0px; text-size-adjust: none;\"\u003e@using System.Web.UI\n@using System.Web.UI.WebControls\n@page \"/fetchdata-gridview\"\n@inherits ControlComponent\n@inject HttpClient Http\n\n\u0026lt;div\u0026gt;\n    \u0026lt;h1\u0026gt;Weather forecast (GridView)\u0026lt;/h1\u0026gt;\n    \u0026lt;asp.Button Text=\"Load Data\" OnClick=\"this.Button_Click\"\u0026gt;\u0026lt;/asp.Button\u0026gt;\n    \u0026lt;hr /\u0026gt;\n    \u0026lt;asp.Label @ref=\"this.label\"\u0026gt;\u0026lt;/asp.Label\u0026gt;\n    \u0026lt;br /\u0026gt;\n    \u0026lt;asp.GridView @ref=\"this.gridview\" AutoGenerateColumns=\"false\" CssClass=\"table\" AllowPaging=\"true\"\n                  PageSize=\"2\" OnPageIndexChanging=\"this.GridView_PageIndexChanging\"\u0026gt;\n        \u0026lt;Columns\u0026gt;\n            \u0026lt;asp.BoundField HeaderText=\"Date\" DataField=\"Date\" DataFormatString=\"{0:yyyy/M/d}\"\u0026gt;\u0026lt;/asp.BoundField\u0026gt;\n            \u0026lt;asp.BoundField HeaderText=\"Temp. (C)\" DataField=\"TemperatureC\"\u0026gt;\u0026lt;/asp.BoundField\u0026gt;\n            \u0026lt;asp.BoundField HeaderText=\"Temp. (F)\" DataField=\"TemperatureF\"\u0026gt;\u0026lt;/asp.BoundField\u0026gt;\n            \u0026lt;asp.BoundField HeaderText=\"Summary\" DataField=\"Summary\"\u0026gt;\u0026lt;/asp.BoundField\u0026gt;\n        \u0026lt;/Columns\u0026gt;\n    \u0026lt;/asp.GridView\u0026gt;\n\u0026lt;/div\u0026gt;\n\n@code {\n    private WeatherForecast[] forecasts;\n    private Label label;\n    private GridView gridview;\n\n    protected async void Button_Click(object sender, EventArgs e)\n    {\n        forecasts = await Http.GetFromJsonAsync\u0026lt;WeatherForecast[]\u0026gt;(\"sample-data/weather.json\");\n\n        label.Text = DateTime.Now.ToString();\n\n        gridview.PageIndex = 0;\n        gridview.DataSource = forecasts;\n        gridview.DataBind();\n\n        this.RequestRefresh();\n    }\n\n    protected void GridView_PageIndexChanging(object sender, GridViewPageEventArgs e)\n    {\n        gridview.PageIndex = e.NewPageIndex;\n        gridview.DataBind();\n    }\n\n    public class WeatherForecast\n    {\n        public DateTime Date { get; set; }\n\n        public int TemperatureC { get; set; }\n\n        public string Summary { get; set; }\n\n        public int TemperatureF =\u0026gt; 32 + (int)(TemperatureC / 0.5556);\n    }\n}\u003c/code\u003e\u003c/pre\u003e\n\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003cth align=\"left\" colspan=\"5\"\u003e\u003cli\u003eStandard Toolbox\u003c/li\u003e\u003c/th\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eBulletedList\u003c/td\u003e\u003ctd\u003eDropDownList\u003c/td\u003e\u003ctd\u003eImageMap\u003c/td\u003e\u003ctd\u003eMultiView\u003c/td\u003e\u003ctd\u003eTextBox\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eButton\u003c/td\u003e\u003ctd\u003eFileUpload\u003c/td\u003e\u003ctd\u003eLabel\u003c/td\u003e\u003ctd\u003ePanel\u003c/td\u003e\u003ctd\u003eWizard\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eCalendar\u003c/td\u003e\u003ctd\u003eHiddenField\u003c/td\u003e\u003ctd\u003eLinkButton\u003c/td\u003e\u003ctd\u003ePlaceHolder\u003c/td\u003e\u003ctd\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eCheckBox\u003c/td\u003e\u003ctd\u003eHyperLink\u003c/td\u003e\u003ctd\u003eListBox\u003c/td\u003e\u003ctd\u003eRadioButton\u003c/td\u003e\u003ctd\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eCheckBoxList\u003c/td\u003e\u003ctd\u003eImage\u003c/td\u003e\u003ctd\u003eLiteral\u003c/td\u003e\u003ctd\u003eRadioButtonList\u003c/td\u003e\u003ctd\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eComboBox\u003c/td\u003e\u003ctd\u003eImageButton\u003c/td\u003e\u003ctd\u003eLocalize\u003c/td\u003e\u003ctd\u003eTable\u003c/td\u003e\u003ctd\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\u003cp\u003e\u003c/p\u003e\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003cth align=\"left\" colspan=\"2\"\u003e\u003cli\u003eData Toolbox\u003c/li\u003e\u003c/th\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eDataList\u003c/td\u003e\u003ctd\u003eListView\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eDataPager\u003c/td\u003e\u003ctd\u003eRepeater\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eDetailsView\u003c/td\u003e\u003ctd\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eFormView\u003c/td\u003e\u003ctd\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eGridView\u003c/td\u003e\u003ctd\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\u003cp\u003e\u003c/p\u003e\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003cth align=\"left\" colspan=\"2\"\u003e\u003cli\u003eValidation Toolbox\u003c/li\u003e\u003c/th\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eCompareValidator\u003c/td\u003e\u003ctd\u003eValidationSummary\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eCustomValidator\u003c/td\u003e\u003ctd\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eRangeValidator\u003c/td\u003e\u003ctd\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eRegularExpressionValidator\u003c/td\u003e\u003ctd\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eRequiredFieldValidator\u003c/td\u003e\u003ctd\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n\n\n\n### Blazor Server\n\nAdd CircuitHandler service to Program.cs\n\n\u003cpre style=\"background-color: #eeeeee; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; color: #333333; font-family: \u0026quot;Source Code Pro\u0026quot;, Consolas, Courier, monospace; font-size: 15px; line-height: 22px; margin-bottom: 22px; margin-top: 22px; max-width: 100%; overflow: auto; padding: 4.5px 11px;\"\u003e\u003ccode class=\"language-cs hljs\" style=\"background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-radius: 0px; border: none; display: block; font-family: \u0026quot;Source Code Pro\u0026quot;, Consolas, Courier, monospace; font-size: 1em; line-height: inherit; margin: 0px; overflow-x: auto; padding: 0px; text-size-adjust: none;\"\u003ebuilder.Services.AddScoped\u0026lt;CircuitHandler, ScriptManagerCircuitHandler\u0026gt;();\u003c/code\u003e\u003c/pre\u003e\n\n\n\u003cpre style=\"background-color: #eeeeee; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; color: #333333; font-family: \u0026quot;Source Code Pro\u0026quot;, Consolas, Courier, monospace; font-size: 15px; line-height: 22px; margin-bottom: 22px; margin-top: 22px; max-width: 100%; overflow: auto; padding: 4.5px 11px;\"\u003e\u003ccode class=\"language-cs hljs\" style=\"background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-radius: 0px; border: none; display: block; font-family: \u0026quot;Source Code Pro\u0026quot;, Consolas, Courier, monospace; font-size: 1em; line-height: inherit; margin: 0px; overflow-x: auto; padding: 0px; text-size-adjust: none;\"\u003eusing Microsoft.AspNetCore.Components.Server.Circuits;\nusing System.Web.Hosting;\n\nnamespace Server\n{\n    public class ScriptManagerCircuitHandler : CircuitHandler\n    {\n        private readonly IServiceProvider _serviceProvider;\n\n        public ScriptManagerCircuitHandler(IServiceProvider serviceProvider)\n        {\n            _serviceProvider = serviceProvider;\n        }\n\n        public override Task OnCircuitOpenedAsync(Circuit circuit, CancellationToken cancellationToken)\n        {\n            ScriptManagerHost.AddScoped(_serviceProvider);\n            return base.OnCircuitOpenedAsync(circuit, cancellationToken);\n        }\n\n        public override Task OnCircuitClosedAsync(Circuit circuit, CancellationToken cancellationToken)\n        {\n            ScriptManagerHost.RemoveScoped(_serviceProvider);\n            return base.OnCircuitClosedAsync(circuit, cancellationToken);\n        }\n    }\n}\u003c/code\u003e\u003c/pre\u003e","funding_links":[],"categories":["Libraries \u0026 Extensions"],"sub_categories":["Component bundles"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJurioli%2FBlazor.WebForm.Components","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FJurioli%2FBlazor.WebForm.Components","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJurioli%2FBlazor.WebForm.Components/lists"}