我正在使用MVC发布/重定向/获取模式。该模型具有一个名为“ Products”的列表属性,并且每个项目都有一个名为“ Images”的列表属性。问题出在POST方法中,所有非输入字段均为空。我尝试添加隐藏字段,它对于“产品”效果很好,但不适用于“图像”。无论如何,添加隐藏字段是唯一的解决方案吗?是否没有办法强制回发最初发送的所有数据? 这是模型定义:
public class ProductRequestMessage
{
//...
public List<ProductRequestEntry> Products { get; set; }
}
public class ProductRequestEntry
{
//...
public Product Product { get; set; }
}
public class Product
{
//...
public List<ImageData> Images { get; set; }
}
public class ImageData
{
//...
public string Url { get; set; }
}
答案 0 :(得分:0)
这不是模型的问题。 HTML表单只会回传输入字段和隐藏字段。
此外,通过回发保留数据也不是一个好习惯。相反,您应该回发ID并在服务器端检索数据。然后合并重试的数据和发布的数据以构建模型。
这还将减小回发的大小,并使应用程序运行更快。