微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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 } });
        }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐