最初のMVCヘルパーメソッドを作成していますが、完全に取得できません。標準の「@Html.TextBoxFor」と同じコードを出力しますが、属性「title」とその値をモデルプロパティから取得します。これは私がこれまでに持っているものです。最後に標準の「TextBoxFor」を使用して独自の属性を追加しようとしていることがわかりますが、それはその方法ではないようです。
public static MvcHtmlString TextBoxForWithTitle<TModel, TProperty>(
this HtmlHelper<TModel> htmlHelper,
Expression<Func<TModel, TProperty>> expression)
{
var metaData = ModelMetadata.FromLambdaExpression(expression, htmlHelper.ViewData);
return htmlHelper.TextBoxFor(expression, new { @title = metaData.DisplayName });
}
具体的には、コンパイル時エラーが発生します。
'System.Web.Mvc.HtmlHelper<TModel>' does not contain a definition for 'TextBoxFor' and no extension method 'TextBoxFor' accepting a first argument of type 'System.Web.Mvc.HtmlHelper<TModel>' could be found (are you missing a using directive or an assembly reference?) D:\DevData\JWilliams\Code\Sandbox\URIntakeMVC2\URIntake\HtmlHelpers.cs 16 31 URIntake