asp.net-mvc-3 – ASP.MVC 3 Razor在Html.PartialView扩展中添加模型前缀

我和他的问题大致相同 ASP.NET MVC partial views: input name prefixes

我想为这些数据实体创建CRUD操作:

public class Userviewmodel 
{  
   protected virtual Id {get; set;} 
   public virtual string Login { get; set; }
   public virtual string Password { get; set; }
   public virtual ZipCodeviewmodel ZipCode { get; set; }
}

邮政编码实体:

public class ZipCodeviewmodel
{        
   public virtual string City { get; set; }

   public virtual string State { get; set; }           

   public virtual string Zip { get; set; }
}

我也有部分视图ZipCode使用Userviewmodel.ZipCode:

@model ZipCodeviewmodel    

    @Html.TextBoxFor(x => x.Zip,new { id = "ZipCode",name = "ZipCode.Zip",maxlength = "5" })

我将在另一个页面(例如用户)中使用ZipCodePartialView.

@model Userviewmodel
.....
@{Html.RenderPartial("Zipcode",Model.ZipCode);}

当MVC保存用户ZipCode字段Zip为空时.

那么问题是我如何为patrial View添加模型前缀?

解决方法

试试这个扩展:
public static void RenderPartialWithPrefix(this HtmlHelper helper,string partialViewName,object model,string prefix)
        {
            helper.RenderPartial(partialViewName,model,new ViewDataDictionary { TemplateInfo = new System.Web.Mvc.TemplateInfo { HtmlFieldPrefix = prefix } });
        }

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....