asp.net-mvc - 在两个不同的强类型 View 中渲染一个局部 View

标签 asp.net-mvc views partial-views strongly-typed-view

我有一个强类型的 Person View ,我想在其中呈现部分:

人物 View (强类型为人物)

<label for="name">Name</label>
    <% Html.RenderPartial("AddressForm"); %>
</label>

AddressForm View (无类型,因为我也想在 Distributor 强类型 View 中使用它)

当我尝试从 Person View 调用此部分时,出现此错误:

编译器错误消息:CS1963:表达式树可能不包含动态操作

源错误:
Line 8:    </div>  
Line 9:    <div class="editor-field">  
Line 10:       <%= Html.TextBoxFor(model => model.addressLine1) %>  
Line 11:       <%: Html.ValidationMessageFor(model => model.addressLine1) %>  
Line 12:   </div> 

我怎样才能让这个部分呈现,以便我可以在多种其他类型中使用我的部分 addressView?

已编辑:
// GET: /Person/Create  

public ActionResult Create()  
{
    Person person = new Person();       
    return View(person);  
}  

//Person create view  
<% Html.RenderPartial("AddressForm"); %>

//AddressForm Partial
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<dynamic>" %>

<fieldset>  
    <legend>Address</legend>   
    <div class="editor-label">  
        <label for="addressLine1" class="addressLabel">Address Line 1</label>  
    </div>  
    <div class="editor-field">  
        <%= Html.TextBoxFor(model => model.addressLine1) %>  
        <%: Html.ValidationMessageFor(model => model.addressLine1) %>
    </div>
</fieldset>

错误在上面。

最佳答案

您不能在动态 View 模型中使用强类型助手:

您可以改用非强类型助手,如下所示:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>

<fieldset>
<legend>Address</legend>
<div class="editor-label">
<label for="addressLine1" class="addressLabel">
Address Line 1</label>
</div>
<div class="editor-field">
<%= Html.TextBox("addressLine1") %>
<%: Html.ValidationMessage("addressLine1") %> </div>
</fieldset>

关于asp.net-mvc - 在两个不同的强类型 View 中渲染一个局部 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3857705/

相关文章:

WebForms 应用程序中的 ASP.Net MVC View

sql-server - SQL Server 索引 View 与 Oracle 物化 View

objective-c - 将两个 XIB 连接到一个 ViewController

asp.net-mvc - 阻止从 URL 而不是 Ajax 调用访问部分 View

asp.net-mvc - 使用助手 @Html.EditorForModel() 忽略一些字段

layout - Rails 在 View 中获取当前布局名称

c# - MVC 3 多表单模型传递给字典

asp.net-mvc - 对自定义 MVC html 控件使用分部 View

asp.net-core - 部分 View 在 View 中时如何显示部分 View 模型错误?

ruby-on-rails - 典型的.NET DDD体系结构与Django/Rails的实践