だから私は.cshtmlビューのこのかみそりの構文を.csのヘルパー拡張子に変換しようとしています。ここにDarinによる素晴らしい投稿があります:https ://stackoverflow.com/a/8187441/1026459 。ただし、動作させるのに問題があります。
これは単純なマークアップです
@using (Html.BeginForm("Restore", "GlobalCrud"))
{
@Html.Hidden("entityId", "Id")
<input class="ui-icon ui-icon-power" type="submit"
onclick="return confirm('Clicking OK will restore this record');"
/>
}
これは拡張です
public static MvcHtmlString EditOrDelete(this HtmlHelper html)
{
var s = html.BeginForm();
return MvcHtmlString.Create(s + " additional fields " + "</form>");
}
これは使用法です:
@using namespace.CustomHelper
@Html.EditOrDelete()
これは出力です:
<form method="post" action="/Completed/Manage">
System.Web.Mvc.Html.MvcForm additional fields
</form>
ほとんどの場合、ヘルパーの拡張により、必要なものが生成されます。ただし、これを適切なhtml文字列に変換する方法がわかりません。返品はSystem.Web.Mvc.Html.MvcForm
本文に含まれています。" additional fields "
そこには問題がないので、ここで簡潔にするために追加します。の追加は、それに伴う通常のステートメントが破棄時にタグを追加する</form>
ことを知っているためです。using
@Html.BeginForm()
</form>
によって生成されたフォームを正しく返すにはどうすればよい.BeginForm
ですか?