Razorで編集を作成するエラー
-
24-10-2019 - |
質問
ASP.NET MVC 3に完全に機能するASCXエディターテンプレートがあり、Razorに変換しようとしました。
ASCX:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Inventory.Models.ProductCategory>" %>
<%= Html.Telerik().DropDownList()
.Name("ProductCategory")
.BindTo(new SelectList((IEnumerable)ViewData["ProductCategories"], "Id", "Name"))
%>
かみそり:
@inherits System.Web.Mvc.ViewUserControl<Inventory.Models.ProductCategory>
@(Html.Telerik().DropDownList()
.Name("ProductCategory")
.BindTo(new SelectList((IEnumerable)ViewData["ProductCategories"], "Id", "Name"))
)
ASCXの名前を変更したので、ASP.NETがエディターテンプレートを選択しても衝突しません。CSHTML拡張機能でレイザーファイルを保存しました。しかし、ランタイムでは、このエラーが発生します。
CS0115: 'ASP._Page_Views_Shared_EditorTemplates_ProductCategory_cshtml.Execute()': no suitable method found to override
Line 44: }
Line 45:
Line 46: public override void Execute() {
Line 47:
Line 48: WriteLiteral("\r\n");
私は何が間違っているのですか? Razor EditortemplatesはASP.NET MVCによって認識されていませんか?
解決
かみそりのビューは継承できません ViewUserControl
。代わりに、カミソリビューのモデルを指定するだけです。
@model Inventory.Models.ProductCategory
@(Html.Telerik().DropDownList()
.Name("ProductCategory")
.BindTo(new SelectList((IEnumerable)ViewData["ProductCategories"], "Id", "Name")) )
他のヒント
ASP.NET MVC 3.0(System.Web.MVC 3.0アセンブリ)に対してコンパイルされていない可能性のあるTelerikコントロールの古いバージョンではないことを確認してください。また、あなたが従っていることを確認してください ドキュメントで説明されている指示 前提条件の手順。
所属していません StackOverflow