3
我創建了一個繼承自InputTagHelper的標籤助手,如本帖子https://stackoverflow.com/a/40489654/945651中的答案所示。Asp.NET核心自定義輸入標籤助手呈現重複複選框
下面是代碼
[HtmlTargetElement("input", Attributes = ForAttributeName)]
public class ExrInputTagHelper : InputTagHelper
{
private const string ForAttributeName = "asp-for";
[HtmlAttributeName("asp-disabled")]
public bool IsDisabled { get; set; }
public ExrInputTagHelper(IHtmlGenerator generator):base(generator)
{
}
public override void Process(TagHelperContext context, TagHelperOutput output)
{
if (IsDisabled)
{
var d = new TagHelperAttribute("disabled", "disabled");
output.Attributes.Add(d);
}
base.Process(context, output);
}
}
這是它的用法:
<input asp-for="UsingCreditCard" type="checkbox" asp-disabled="@Model.UsingACH" />
這個偉大的工程,但有一個明顯的問題。如果輸入類型是複選框,則會呈現兩次。所有其他輸入類型都很好。爲什麼會發生這種情況?
<input checked="checked" data-val="true" data-val-required="The UsingCreditCard field is required." id="UsingCreditCard" name="UsingCreditCard" type="checkbox" value="true">
<input checked="checked" id="UsingCreditCard" name="UsingCreditCard" type="checkbox" value="true">
任何想法都非常感激。
在此先感謝。
謝謝。這個伎倆。欣賞快速反應。 – dherrin79