Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在不同的控制器视图中编辑单个实体,并在每个操作中调用db?_Javascript_Asp.net Mvc_Entity Framework_Asp.net Ajax - Fatal编程技术网

Javascript 在不同的控制器视图中编辑单个实体,并在每个操作中调用db?

Javascript 在不同的控制器视图中编辑单个实体,并在每个操作中调用db?,javascript,asp.net-mvc,entity-framework,asp.net-ajax,Javascript,Asp.net Mvc,Entity Framework,Asp.net Ajax,我有一个叫做“空间”的对象/实体。我想将“空间”内的每个不同实体图像、细节、位置等放到不同的页面/视图上,这样每个部分都可以单独编辑,用户单击导航链接编辑每个部分。我不希望每次实体发回另一个操作时都必须从数据库中获取该实体。难道没有更好的办法吗? 也许把它们每一个都作为动作方法——位置、图像、细节——不是正确的方法吗?使用javascript隐藏页面的不同部分是否更好?请告知!我试着模仿airbnb编辑列表的页面。。。 前 mysite/managespaces/123/images //您将看

我有一个叫做“空间”的对象/实体。我想将“空间”内的每个不同实体图像、细节、位置等放到不同的页面/视图上,这样每个部分都可以单独编辑,用户单击导航链接编辑每个部分。我不希望每次实体发回另一个操作时都必须从数据库中获取该实体。难道没有更好的办法吗? 也许把它们每一个都作为动作方法——位置、图像、细节——不是正确的方法吗?使用javascript隐藏页面的不同部分是否更好?请告知!我试着模仿airbnb编辑列表的页面。。。 前

mysite/managespaces/123/images //您将看到用于编辑id为123的图片的表单 mysite/managespaces/123/location //这里您只编辑id 123的loc详细信息 mysite/managespaces/123/details //此处编辑id 123的详细信息

等等

public class Space
{
    public int SpaceId { get; set; }

    [Index(IsUnique = false)]
    [Required]
    [MaxLength(128)]
    public string AspNetUserRefId { get; set; }

    public virtual SpaceOverview Overview { get; set; }

    public virtual SpaceDetails Details { get; set; }

    public virtual ICollection<SpaceImage> Images { get; set; }

    public virtual SpaceListing Listing { get; set; }

    public virtual SpaceAddress Location { get; set; }

    public virtual ICollection<SpaceReview> Reviews { get; set; }

    [Required]
    public DateTime DateCreated { get; set; }

    [Required]

在做了一点研究之后,我发现我可以使用创建不同的div并在单击导航链接时隐藏/显示它们,但是我如何控制url中的操作以将链接项显示为操作而不发回?为什么您会关心从数据库中再次获取对象,这是正常的方法?如果访问数据库的成本很高,您可以始终使用会话,但这可能表明其他方面出了问题。更重要的一点是,为什么要将空间放在只编辑细节或位置的视图中?我关心的是从数据库中获取对象的速度!每次点击导航细节、图像、概览等,我都不想回到数据库重新获取对象,这是非常多余的。我的视图将编辑空间的所有方面,因此我只需获取一次!看看airbnb,看看你是如何管理你的物品的,网站不会在你每次去物品的不同区域编辑物品时都发回。我想他们正在隐藏/显示不同的部分!!也许不是。你说多余是什么意思?这是标准的方式。正如我所说的,您总是可以在调用之间将对象置于会话中,然后从那里检索它。但是如果您的视图编辑了模型的所有属性,那么应该有一个视图和一个表单,为什么要有指向单独页面的链接?。一次只显示表单的一部分就足够简单了,你甚至可以将它变成一个向导,一次验证每个部分。这可能是标准的方法,但我认为如果每次都要发回以编辑表单的不同部分,即使它们位于不同的可见部分/分区中,也不会对用户非常友好。我只是想模仿airbnb在他们的页面上所做的,允许您编辑列表。如果您能就他们的方法或asp.net mvc的等效版本向我提供建议,我将不胜感激!