我有一个强类型的人查看,我想要呈现的一个部分:

人(强类型作为人)

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

AddressForm图(类型,因为我也想利用这一经销商强类型观)

当我试图把这部分的人查看,我得到这个错误:

编译错误信息: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>

错误是以上。

有帮助吗?

解决方案

你可以不使用强类型的助手的动态模型:

你可以使用的非强类型的助手相反,这样的:

<%@ 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>

其他提示

你能不能简单地把你所有的意见强类型,让这两个模式类型,你想要呈现在你的AddressForm视实现一个接口,让AddressForm部分使用的接口,作为其模式的类型?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top