首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >editorforModel的多次使用

editorforModel的多次使用
EN

Stack Overflow用户
提问于 2015-02-24 17:09:30
回答 1查看 51关注 0票数 1

editorforModel,但现在我需要几个不同的,我不想一个一个地使用html帮助。所以我需要这样的东西

代码语言:javascript
复制
  @model JobTrackingSystem.Areas.Panel.ViewModels.Member.NewMemberModel
  {

     @Html.EditorForModel()

  }

  @model JobTrackingSystem.Areas.Panel.ViewModels.Member.MemberDashboardModel
  {
     @Html.EditorForModel()
  }

所以,我想让他们在两个不同的div在1页,但我的控制器不允许使用这样的东西,这里是我的控制器;

代码语言:javascript
复制
 public ActionResult Add(NewMemberModel input, HttpPostedFileBase Resim)
    {
        if (!ModelState.IsValid)
        {
            ShowErrorMessage("Hatalı İşlem Yaptınız.");
            return RedirectToAction("Index");
        }
        if (Resim == null)
        {
            ShowErrorMessage("Lütfen Boş Alan Bırakmayın.");
            return RedirectToAction("Index");
        }

        var epostaKontrol = Db.MyMembers.FirstOrDefault(p => p.Mail == input.Mail);
        if (epostaKontrol != null)
        {
            ShowErrorMessage("E-Mail Adresi Adı Kullanımda.");
            return RedirectToAction("Index");
        }
        string[] folders = new string[] { "Uploads/Member/Orjinal/", "Uploads/Member/Kucuk/" };

        string fileExt = Path.GetExtension(Path.GetFileName(Resim.FileName)).ToLower();
        string orjName = Guid.NewGuid() + fileExt;
        string filePath = Path.Combine(Server.MapPath("~/" + folders[0]), orjName);
        string fileThumbPath = Path.Combine(Server.MapPath("~/" + folders[1]), orjName);
        if (!(fileExt.Equals(".jpg") || fileExt.Equals(".jpeg") || fileExt.Equals(".png")))
        {
            ShowErrorMessage("Yalnızca .Jpg .Jpeg ve .Png Uzantılı Dosyalar Yükleyebilirsiniz.");
            return RedirectToAction("Index");
        }
        Resim.SaveAs(filePath);

        var thumber = ImageHelper.Thumber(750, filePath, fileThumbPath);
        if (!String.IsNullOrWhiteSpace(thumber))
        {
            ShowErrorMessage(thumber);
            return RedirectToAction("Index");
        }

        var item = new Member
        {
            Name = input.Name,
            Mail = input.Mail,
            SurName = input.SurName,
            Phone = input.Phone,
            Sira = Db.MyMembers.Max(m => (short?)m.Sira) ?? 0 + 1,
            DepartmentType = (DepartmentTypeForUser)input.DepartmentTypeFor,
            MemberType = (MemberTypeForUser)input.MemberTypeFor,
            Image = "/" + folders[1] + orjName
        };
        item.SetPassword(input.Password);
        Db.MyMembers.Add(item);
        Db.SaveChanges();

        ImageResizeModel model = new ImageResizeModel()
        {
            ImagePath = "/" + folders[1] + orjName,
            ImageThumbPath = "/" + folders[1] + orjName,
            SelectionSize = "[ 750, 750 ]",
        };
        return View("CropImage", model);

    }

那么,如何在不同的模型字段中多次使用多个editorforModel呢?我可以在NewMemberModel类中做任何类似于2种方法的操作,然后调用editorforModelMethod1 - editorforModelMethod2吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-24 17:13:08

我不太清楚你在问什么(特别是“控制器不允许”,一条实际的错误消息可以帮助我们,也可以帮助您研究这个问题),但是看起来您可以使用一个复合视图模型:

代码语言:javascript
复制
public class NewMemberWithDashboardModel
{
    public NewMemberModel NewMember { get; set; }

    public MemberDashboardModel MemberDashboard { get; set; }
}

然后像这样使用它:

代码语言:javascript
复制
@Html.EditorFor(m => m.NewMember)
@Html.EditorFor(m => m.MemberDashboard)

在你的控制器里:

代码语言:javascript
复制
public ActionResult Add(NewMemberWithDashboardModel model, ...)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28701979

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档