內置的FormTagHelper支持「asp-action」,「asp-controller」,「asp-route」等屬性。他們工作正常。但我不想爲每個表單手動指定它們的值。是否可以根據當前頁面URL自動生成「action」屬性?如何在ASP.NET核心中爲<form>標記生成器生成「動作」方法
看到FormTagHelper的實現後,我看到它使用IHtmlGenerator。當我在我看來手動調用IHtmlGenerator.GenerateForm(this.ViewContext, null,null,null,"post", null)
時,它工作得很好。該表格是使用有效的「操作」方法(包括查詢字符串)自動生成的。但是,我能得到與元素相同的結果嗎?
根據這個實現,我需要在FormTagBuilder中調用以下代碼行。但是,隨着「行動」和「控制器」設置爲null
tagBuilder = Generator.GenerateForm(
ViewContext,
Action,
Controller,
Fragment,
routeValues,
method: null,
htmlAttributes: null);
但不知道如何做到這一點
附:如果我指定asp-route=""
,則它會生成「action」元素,但它不包含當前頁面的查詢字符串。