一般的な Html.Element はありますか?
私はこれを行うことができるようにしたいと思います:
Html.Element<AccountController>("IFrame", "elementName", new { src = c => c.ChangePassword })
一般的な Html.Element はありますか?
私はこれを行うことができるようにしたいと思います:
Html.Element<AccountController>("IFrame", "elementName", new { src = c => c.ChangePassword })
あなたが説明している方法で HTML コンテンツを構築するための最も適切な「MVC っぽい」アプローチは、カスタム HtmlHelper 拡張メソッドを作成することです。このメソッドは、System.Web.Mvc.TagBuilder のインスタンスを使用して HTML を構築する必要があります。これが例です(私の現在のプロジェクトの1つからコピーされましたが、実際には分離してテストされていません):
using System.Web.Mvc;
using System.Linq;
public static class HtmlHelperExtensions
{
public static string Element(this HtmlHelper htmlHelper, string tag, string name, object htmlAttributes)
{
TagBuilder builder = new TagBuilder(tag);
builder.GenerateId(name);
builder.MergeAttributes(htmlAttributes);
// use builder.AddCssClass(...) to specify CSS class names
return builder.ToString()
}
}
// example of using the custom HtmlHelper extension method from within a view:
<%=Html.Element("iframe", "elementName", new { src = "[action url here]" })%>
コントローラー アクション ラムダをサポートするためにカスタム HtmlHelper メソッドを拡張する方法については、この記事を参考にしてください。