gpt4 book ai didi

c# - 如何从 ASP .NET MVC razor View 仅发布完整模型的一部分

转载 作者:太空狗 更新时间:2023-10-29 23:50:30 25 4
gpt4 key购买 nike

我有一个 @model 声明为 FullModel 类型的 View ;

public class FullModel
{
public IList<Record> SomeRecords {get;set;}
public Record NewRecord {get;set;}
}

此 View 呈现 SomeRecords,还呈现 Form 以将 NewRecord 发布到定义为的 Controller 方法:

public ActionResult CreateNew(Record record)
{
...
}

像这样:

@using (@Html.BeginForm("CreateNew", "RecordController"))
{
@Html.TextBoxFor(x => x.NewRecord.SomeProp)
...
}

但这不起作用,因为路径从根 FullModel 开始,因此 POST 数据变为 NewRecord.SomeProp 并且 Controller 期望 Record 作为 root,路径应该是 SomeProp

通常\正确的处理方法是什么?

最佳答案

您还可以使用 TryUpdateModel 方法。

public ActionResult CreateNew(FormCollection collection)
{
Record record = new Record();
TryUpdateModel<Record>(record, "NewRecord", collection);
// do more stuff
}

https://msdn.microsoft.com/en-us/library/system.web.mvc.controller.tryupdatemodel%28v=vs.118%29.aspx#M:System.Web.Mvc.Controller.TryUpdateModel%60%601%28%60%600,System.String,System.Web.Mvc.IValueProvider%29

关于c# - 如何从 ASP .NET MVC razor View 仅发布完整模型的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31502254/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com