Levelnisのブログからメッセージ クラスを実装しようとすると、コンパイル エラーが発生します。
問題のクラスは次のとおりです。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.AspNet.Mvc.Rendering;
namespace Notifier.Helpers.MessageNotifier
{
public class Message
{
public MessageSeverity Severity { get; set; }
public string Text { get; set; }
public string Generate()
{
var isDismissable = Severity != MessageSeverity.Danger;
if (Severity == MessageSeverity.None) Severity = MessageSeverity.Info;
var sb = new StringBuilder();
var divTag = new TagBuilder("div");
divTag.AddCssClass("alert fade in");
divTag.AddCssClass("alert-" + Severity.ToString().ToLower());
var spanTag = new TagBuilder("span");
spanTag.MergeAttribute("id", "MessageContent");
if (isDismissable)
{
divTag.AddCssClass("alert-dismissable");
}
sb.Append(divTag.ToString(TagRenderMode.StartTag));
if (isDismissable)
{
var buttonTag = new TagBuilder("button");
buttonTag.MergeAttribute("class", "close");
buttonTag.MergeAttribute("data-dismiss", "alert");
buttonTag.MergeAttribute("aria-hidden", "true");
buttonTag.InnerHtml = "×";
sb.Append(buttonTag.ToString(TagRenderMode.Normal));
}
sb.Append(spanTag.ToString(TagRenderMode.StartTag));
sb.Append(Text);
sb.Append(spanTag.ToString(TagRenderMode.EndTag));
sb.Append(divTag.ToString(TagRenderMode.EndTag));
return sb.ToString();
}
}
}
2 つのエラーが発生しています。最初のエラーは、次の行の「.ToString」に関連しています。
sb.Append(divTag.ToString(TagRenderMode.StartTag));
そしてそれは言います:
No overload for method 'ToString' takes 1 arguments
2 番目のエラーは、次の行に関連しています。
buttonTag.InnerHtml = "×";
そしてそれは言います:
Property or indexer 'TagBuilder.InnerHtml' cannot be assigned to -- it is read only
ドキュメントや他の投稿を見てきましたが、これまでのところ、これを修正して正しくコンパイルするのに役立つものは見つかりませんでした...
これらのメソッドは Asp.net-core で異なる方法で実装されていますか?そうでない場合、誰かがこれらの行を実行する別の方法を提案できますか?