{"action":"created","comment":{"url":"https://api.github.com/repos/aspnet/Mvc/pulls/comments/222844751","pull_request_review_id":161832197,"id":222844751,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIyMjg0NDc1MQ==","diff_hunk":"@@ -234,6 +234,46 @@ public interface IHtmlHelper\n             string htmlFieldName,\n             object additionalViewData);\n \n+        /// <summary>\n+        /// Returns HTML markup for the <paramref name=\"expression\"/>, using a display template, specified HTML field\n+        /// name, and additional view data. The template is found using the <paramref name=\"templateName\"/> or the\n+        /// <paramref name=\"expression\"/>'s <see cref=\"ModelMetadata\"/>.\n+        /// </summary>\n+        /// <param name=\"expression\">\n+        /// Expression name, relative to the current model. May identify a single property or an\n+        /// <see cref=\"object\"/> that contains the properties to display.\n+        /// </param>\n+        /// <param name=\"templateName\">The name of the template used to create the HTML markup.</param>\n+        /// <param name=\"htmlFieldName\">\n+        /// A <see cref=\"string\"/> used to disambiguate the names of HTML elements that are created for\n+        /// properties that have the same name.\n+        /// </param>\n+        /// <param name=\"additionalViewData\">\n+        /// An anonymous <see cref=\"object\"/> or <see cref=\"IDictionary{String, Object}\"/> that can contain additional\n+        /// view data that will be merged into the <see cref=\"ViewDataDictionary{TModel}\"/> instance created for the\n+        /// template.\n+        /// </param>\n+        /// <returns>A new <see cref=\"IHtmlContent\"/> containing the created HTML.</returns>\n+        /// <remarks>\n+        /// <para>\n+        /// For example the default <see cref=\"object\"/> display template includes markup for each property in the\n+        /// <paramref name=\"expression\"/>'s value.\n+        /// </para>\n+        /// <para>\n+        /// Example <paramref name=\"expression\"/>s include <c>string.Empty</c> which identifies the current model and\n+        /// <c>\"prop\"</c> which identifies the current model's \"prop\" property.\n+        /// </para>\n+        /// <para>\n+        /// Custom templates are found under a <c>DisplayTemplates</c> folder. The folder name is case-sensitive on\n+        /// case-sensitive file systems.\n+        /// </para>\n+        /// </remarks>\n+        Task<IHtmlContent> DisplayAsync(","path":"src/Microsoft.AspNetCore.Mvc.ViewFeatures/Rendering/IHtmlHelper.cs","position":38,"original_position":38,"commit_id":"8c3f2cf94970e0ca12933d5b086cd0c792bb5ff4","original_commit_id":"8c3f2cf94970e0ca12933d5b086cd0c792bb5ff4","user":{"login":"effyteva","id":2697907,"node_id":"MDQ6VXNlcjI2OTc5MDc=","avatar_url":"https://avatars0.githubusercontent.com/u/2697907?v=4","gravatar_id":"","url":"https://api.github.com/users/effyteva","html_url":"https://github.com/effyteva","followers_url":"https://api.github.com/users/effyteva/followers","following_url":"https://api.github.com/users/effyteva/following{/other_user}","gists_url":"https://api.github.com/users/effyteva/gists{/gist_id}","starred_url":"https://api.github.com/users/effyteva/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/effyteva/subscriptions","organizations_url":"https://api.github.com/users/effyteva/orgs","repos_url":"https://api.github.com/users/effyteva/repos","events_url":"https://api.github.com/users/effyteva/events{/privacy}","received_events_url":"https://api.github.com/users/effyteva/received_events","type":"User","site_admin":false},"body":"If this couldn't be merged,\r\nPerhaps only the BuildAsync method of TemplateBuilder could be merged?\r\nThis would allow creating a custom extension methods similar to EditorFor and DisplayFor, using the sample TemplateBuilder.\r\nThis doesn't require changing any interface :)","created_at":"2018-10-04T22:18:35Z","updated_at":"2018-10-04T22:18:35Z","html_url":"https://github.com/aspnet/Mvc/pull/8554#discussion_r222844751","pull_request_url":"https://api.github.com/repos/aspnet/Mvc/pulls/8554","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/aspnet/Mvc/pulls/comments/222844751"},"html":{"href":"https://github.com/aspnet/Mvc/pull/8554#discussion_r222844751"},"pull_request":{"href":"https://api.github.com/repos/aspnet/Mvc/pulls/8554"}},"in_reply_to_id":222843781},"pull_request":{"url":"https://api.github.com/repos/aspnet/Mvc/pulls/8554","id":220529604,"node_id":"MDExOlB1bGxSZXF1ZXN0MjIwNTI5NjA0","html_url":"https://github.com/aspnet/Mvc/pull/8554","diff_url":"https://github.com/aspnet/Mvc/pull/8554.diff","patch_url":"https://github.com/aspnet/Mvc/pull/8554.patch","issue_url":"https://api.github.com/repos/aspnet/Mvc/issues/8554","number":8554,"state":"open","locked":false,"title":"Redesign the ViewEngine to be async","user":{"login":"effyteva","id":2697907,"node_id":"MDQ6VXNlcjI2OTc5MDc=","avatar_url":"https://avatars0.githubusercontent.com/u/2697907?v=4","gravatar_id":"","url":"https://api.github.com/users/effyteva","html_url":"https://github.com/effyteva","followers_url":"https://api.github.com/users/effyteva/followers","following_url":"https://api.github.com/users/effyteva/following{/other_user}","gists_url":"https://api.github.com/users/effyteva/gists{/gist_id}","starred_url":"https://api.github.com/users/effyteva/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/effyteva/subscriptions","organizations_url":"https://api.github.com/users/effyteva/orgs","repos_url":"https://api.github.com/users/effyteva/repos","events_url":"https://api.github.com/users/effyteva/events{/privacy}","received_events_url":"https://api.github.com/users/effyteva/received_events","type":"User","site_admin":false},"body":"Hi,\r\nRegarding issue #7416 , I believe this covers most of it.\r\nAs far as I've noticed, the only remaining Sync parts of the view engine are two default display actions, CollectionTemplate and ObjectTemplate, as I didn't want to pull in a bigger update (which actually contains code change, except for adding Async methods).\r\nThis also can be easily resolved by changing the GetDefaultActions to Async (it's private anyway), and updating both collections of _defaultDisplayActions and _defaultEditorActions to a Func returning a Task. I could create another pull request for this as well if needed.\r\nHope this can be merged and pushed into the 2.2 release.\r\n\r\nThanks guys,\r\nEffy","created_at":"2018-10-04T21:56:24Z","updated_at":"2018-10-04T22:18:35Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/aspnet/Mvc/pulls/8554/commits","review_comments_url":"https://api.github.com/repos/aspnet/Mvc/pulls/8554/comments","review_comment_url":"https://api.github.com/repos/aspnet/Mvc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/aspnet/Mvc/issues/8554/comments","statuses_url":"https://api.github.com/repos/aspnet/Mvc/statuses/8c3f2cf94970e0ca12933d5b086cd0c792bb5ff4","head":{"label":"effyteva:2.1.3-effy","ref":"2.1.3-effy","sha":"8c3f2cf94970e0ca12933d5b086cd0c792bb5ff4","user":{"login":"effyteva","id":2697907,"node_id":"MDQ6VXNlcjI2OTc5MDc=","avatar_url":"https://avatars0.githubusercontent.com/u/2697907?v=4","gravatar_id":"","url":"https://api.github.com/users/effyteva","html_url":"https://github.com/effyteva","followers_url":"https://api.github.com/users/effyteva/followers","following_url":"https://api.github.com/users/effyteva/following{/other_user}","gists_url":"https://api.github.com/users/effyteva/gists{/gist_id}","starred_url":"https://api.github.com/users/effyteva/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/effyteva/subscriptions","organizations_url":"https://api.github.com/users/effyteva/orgs","repos_url":"https://api.github.com/users/effyteva/repos","events_url":"https://api.github.com/users/effyteva/events{/privacy}","received_events_url":"https://api.github.com/users/effyteva/received_events","type":"User","site_admin":false},"repo":{"id":151588450,"node_id":"MDEwOlJlcG9zaXRvcnkxNTE1ODg0NTA=","name":"Mvc","full_name":"effyteva/Mvc","private":false,"owner":{"login":"effyteva","id":2697907,"node_id":"MDQ6VXNlcjI2OTc5MDc=","avatar_url":"https://avatars0.githubusercontent.com/u/2697907?v=4","gravatar_id":"","url":"https://api.github.com/users/effyteva","html_url":"https://github.com/effyteva","followers_url":"https://api.github.com/users/effyteva/followers","following_url":"https://api.github.com/users/effyteva/following{/other_user}","gists_url":"https://api.github.com/users/effyteva/gists{/gist_id}","starred_url":"https://api.github.com/users/effyteva/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/effyteva/subscriptions","organizations_url":"https://api.github.com/users/effyteva/orgs","repos_url":"https://api.github.com/users/effyteva/repos","events_url":"https://api.github.com/users/effyteva/events{/privacy}","received_events_url":"https://api.github.com/users/effyteva/received_events","type":"User","site_admin":false},"html_url":"https://github.com/effyteva/Mvc","description":"ASP.NET Core MVC is a model view controller framework for building dynamic web sites with clean separation of concerns, including the merged MVC, Web API, and Web Pages w/ Razor.","fork":true,"url":"https://api.github.com/repos/effyteva/Mvc","forks_url":"https://api.github.com/repos/effyteva/Mvc/forks","keys_url":"https://api.github.com/repos/effyteva/Mvc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/effyteva/Mvc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/effyteva/Mvc/teams","hooks_url":"https://api.github.com/repos/effyteva/Mvc/hooks","issue_events_url":"https://api.github.com/repos/effyteva/Mvc/issues/events{/number}","events_url":"https://api.github.com/repos/effyteva/Mvc/events","assignees_url":"https://api.github.com/repos/effyteva/Mvc/assignees{/user}","branches_url":"https://api.github.com/repos/effyteva/Mvc/branches{/branch}","tags_url":"https://api.github.com/repos/effyteva/Mvc/tags","blobs_url":"https://api.github.com/repos/effyteva/Mvc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/effyteva/Mvc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/effyteva/Mvc/git/refs{/sha}","trees_url":"https://api.github.com/repos/effyteva/Mvc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/effyteva/Mvc/statuses/{sha}","languages_url":"https://api.github.com/repos/effyteva/Mvc/languages","stargazers_url":"https://api.github.com/repos/effyteva/Mvc/stargazers","contributors_url":"https://api.github.com/repos/effyteva/Mvc/contributors","subscribers_url":"https://api.github.com/repos/effyteva/Mvc/subscribers","subscription_url":"https://api.github.com/repos/effyteva/Mvc/subscription","commits_url":"https://api.github.com/repos/effyteva/Mvc/commits{/sha}","git_commits_url":"https://api.github.com/repos/effyteva/Mvc/git/commits{/sha}","comments_url":"https://api.github.com/repos/effyteva/Mvc/comments{/number}","issue_comment_url":"https://api.github.com/repos/effyteva/Mvc/issues/comments{/number}","contents_url":"https://api.github.com/repos/effyteva/Mvc/contents/{+path}","compare_url":"https://api.github.com/repos/effyteva/Mvc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/effyteva/Mvc/merges","archive_url":"https://api.github.com/repos/effyteva/Mvc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/effyteva/Mvc/downloads","issues_url":"https://api.github.com/repos/effyteva/Mvc/issues{/number}","pulls_url":"https://api.github.com/repos/effyteva/Mvc/pulls{/number}","milestones_url":"https://api.github.com/repos/effyteva/Mvc/milestones{/number}","notifications_url":"https://api.github.com/repos/effyteva/Mvc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/effyteva/Mvc/labels{/name}","releases_url":"https://api.github.com/repos/effyteva/Mvc/releases{/id}","deployments_url":"https://api.github.com/repos/effyteva/Mvc/deployments","created_at":"2018-10-04T14:49:07Z","updated_at":"2018-10-04T14:49:17Z","pushed_at":"2018-10-04T21:46:54Z","git_url":"git://github.com/effyteva/Mvc.git","ssh_url":"git@github.com:effyteva/Mvc.git","clone_url":"https://github.com/effyteva/Mvc.git","svn_url":"https://github.com/effyteva/Mvc","homepage":"","size":71333,"stargazers_count":0,"watchers_count":0,"language":"C#","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"release/2.2"}},"base":{"label":"aspnet:release/2.2","ref":"release/2.2","sha":"153165f9ad03fa735fd566023bb34c1b323d3e54","user":{"login":"aspnet","id":6476660,"node_id":"MDEyOk9yZ2FuaXphdGlvbjY0NzY2NjA=","avatar_url":"https://avatars3.githubusercontent.com/u/6476660?v=4","gravatar_id":"","url":"https://api.github.com/users/aspnet","html_url":"https://github.com/aspnet","followers_url":"https://api.github.com/users/aspnet/followers","following_url":"https://api.github.com/users/aspnet/following{/other_user}","gists_url":"https://api.github.com/users/aspnet/gists{/gist_id}","starred_url":"https://api.github.com/users/aspnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aspnet/subscriptions","organizations_url":"https://api.github.com/users/aspnet/orgs","repos_url":"https://api.github.com/users/aspnet/repos","events_url":"https://api.github.com/users/aspnet/events{/privacy}","received_events_url":"https://api.github.com/users/aspnet/received_events","type":"Organization","site_admin":false},"repo":{"id":15126429,"node_id":"MDEwOlJlcG9zaXRvcnkxNTEyNjQyOQ==","name":"Mvc","full_name":"aspnet/Mvc","private":false,"owner":{"login":"aspnet","id":6476660,"node_id":"MDEyOk9yZ2FuaXphdGlvbjY0NzY2NjA=","avatar_url":"https://avatars3.githubusercontent.com/u/6476660?v=4","gravatar_id":"","url":"https://api.github.com/users/aspnet","html_url":"https://github.com/aspnet","followers_url":"https://api.github.com/users/aspnet/followers","following_url":"https://api.github.com/users/aspnet/following{/other_user}","gists_url":"https://api.github.com/users/aspnet/gists{/gist_id}","starred_url":"https://api.github.com/users/aspnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aspnet/subscriptions","organizations_url":"https://api.github.com/users/aspnet/orgs","repos_url":"https://api.github.com/users/aspnet/repos","events_url":"https://api.github.com/users/aspnet/events{/privacy}","received_events_url":"https://api.github.com/users/aspnet/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/aspnet/Mvc","description":"ASP.NET Core MVC is a model view controller framework for building dynamic web sites with clean separation of concerns, including the merged MVC, Web API, and Web Pages w/ Razor.","fork":false,"url":"https://api.github.com/repos/aspnet/Mvc","forks_url":"https://api.github.com/repos/aspnet/Mvc/forks","keys_url":"https://api.github.com/repos/aspnet/Mvc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/aspnet/Mvc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/aspnet/Mvc/teams","hooks_url":"https://api.github.com/repos/aspnet/Mvc/hooks","issue_events_url":"https://api.github.com/repos/aspnet/Mvc/issues/events{/number}","events_url":"https://api.github.com/repos/aspnet/Mvc/events","assignees_url":"https://api.github.com/repos/aspnet/Mvc/assignees{/user}","branches_url":"https://api.github.com/repos/aspnet/Mvc/branches{/branch}","tags_url":"https://api.github.com/repos/aspnet/Mvc/tags","blobs_url":"https://api.github.com/repos/aspnet/Mvc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/aspnet/Mvc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/aspnet/Mvc/git/refs{/sha}","trees_url":"https://api.github.com/repos/aspnet/Mvc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/aspnet/Mvc/statuses/{sha}","languages_url":"https://api.github.com/repos/aspnet/Mvc/languages","stargazers_url":"https://api.github.com/repos/aspnet/Mvc/stargazers","contributors_url":"https://api.github.com/repos/aspnet/Mvc/contributors","subscribers_url":"https://api.github.com/repos/aspnet/Mvc/subscribers","subscription_url":"https://api.github.com/repos/aspnet/Mvc/subscription","commits_url":"https://api.github.com/repos/aspnet/Mvc/commits{/sha}","git_commits_url":"https://api.github.com/repos/aspnet/Mvc/git/commits{/sha}","comments_url":"https://api.github.com/repos/aspnet/Mvc/comments{/number}","issue_comment_url":"https://api.github.com/repos/aspnet/Mvc/issues/comments{/number}","contents_url":"https://api.github.com/repos/aspnet/Mvc/contents/{+path}","compare_url":"https://api.github.com/repos/aspnet/Mvc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/aspnet/Mvc/merges","archive_url":"https://api.github.com/repos/aspnet/Mvc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/aspnet/Mvc/downloads","issues_url":"https://api.github.com/repos/aspnet/Mvc/issues{/number}","pulls_url":"https://api.github.com/repos/aspnet/Mvc/pulls{/number}","milestones_url":"https://api.github.com/repos/aspnet/Mvc/milestones{/number}","notifications_url":"https://api.github.com/repos/aspnet/Mvc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/aspnet/Mvc/labels{/name}","releases_url":"https://api.github.com/repos/aspnet/Mvc/releases{/id}","deployments_url":"https://api.github.com/repos/aspnet/Mvc/deployments","created_at":"2013-12-12T03:54:00Z","updated_at":"2018-10-04T22:16:18Z","pushed_at":"2018-10-04T22:16:35Z","git_url":"git://github.com/aspnet/Mvc.git","ssh_url":"git@github.com:aspnet/Mvc.git","clone_url":"https://github.com/aspnet/Mvc.git","svn_url":"https://github.com/aspnet/Mvc","homepage":"","size":71299,"stargazers_count":5662,"watchers_count":5662,"language":"C#","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2216,"mirror_url":null,"archived":false,"open_issues_count":147,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":2216,"open_issues":147,"watchers":5662,"default_branch":"release/2.2"}},"_links":{"self":{"href":"https://api.github.com/repos/aspnet/Mvc/pulls/8554"},"html":{"href":"https://github.com/aspnet/Mvc/pull/8554"},"issue":{"href":"https://api.github.com/repos/aspnet/Mvc/issues/8554"},"comments":{"href":"https://api.github.com/repos/aspnet/Mvc/issues/8554/comments"},"review_comments":{"href":"https://api.github.com/repos/aspnet/Mvc/pulls/8554/comments"},"review_comment":{"href":"https://api.github.com/repos/aspnet/Mvc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/aspnet/Mvc/pulls/8554/commits"},"statuses":{"href":"https://api.github.com/repos/aspnet/Mvc/statuses/8c3f2cf94970e0ca12933d5b086cd0c792bb5ff4"}},"author_association":"NONE"}}
{"actor":{"display_login":"effyteva"}}