Dhe*_*mar 2 asp.net-mvc telerik editortemplates razor asp.net-mvc-3
我在ASP.NET MVC 3中有一个完美的ascx编辑器模板,并尝试将其转换为剃刀:
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"))
%>
Run Code Online (Sandbox Code Playgroud)
剃刀:
@inherits System.Web.Mvc.ViewUserControl<Inventory.Models.ProductCategory>
@(Html.Telerik().DropDownList()
.Name("ProductCategory")
.BindTo(new SelectList((IEnumerable)ViewData["ProductCategories"], "Id", "Name"))
)
Run Code Online (Sandbox Code Playgroud)
我重命名了ascx,因此当ASP.NET选择编辑器模板时它不会发生冲突,我保存了带有cshtml扩展名的razor文件.但在运行时,我收到此错误:
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");
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?是不是Razor EditorTemplates被ASP.NET MVC认可?
mar*_*ind 12
剃刀观点不能继承ViewUserControl.相反,您只想指定Razor视图的模型:
@model Inventory.Models.ProductCategory
@(Html.Telerik().DropDownList()
.Name("ProductCategory")
.BindTo(new SelectList((IEnumerable)ViewData["ProductCategories"], "Id", "Name")) )
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4095 次 |
| 最近记录: |