Asp.net mvc 2 MVC:仅从客户端验证更新部分模型的操作

Asp.net mvc 2 MVC:仅从客户端验证更新部分模型的操作,asp.net-mvc-2,model,drop-down-menu,client-server,client-side,Asp.net Mvc 2,Model,Drop Down Menu,Client Server,Client Side,这是我的问题 我有一个由两个结构组成的模型 public class MyDoubleStructureModel { public MyDoubleStructureModel(CLIENT MyClient, List<PROVIDER> MyProviders); CLIENT MyClient {get;private set;}; List<PROVIDER> MyProviders {get;private set

这是我的问题

我有一个由两个结构组成的模型

public class MyDoubleStructureModel

    {
     public    MyDoubleStructureModel(CLIENT MyClient, List<PROVIDER> MyProviders);
     CLIENT MyClient {get;private set;};
     List<PROVIDER> MyProviders {get;private set;} ;
    }
但是我不知道是否可以更新,只更新我模型的一部分(在本例中是“提供者”部分)

有没有办法完成我的代码?我走对了吗?我想只有“服务器端函数‘UpdateListProvider’(在PartialView中显示更新的提供者列表)丢失了

这是我的函数UpdateListProvider上应该包含的内容

public ActionResult UpdateListProvider(int provID)
{
    List<PROVIDER> MyProvidersInMyModel = _entities.Providers.Where(c => c.PROV_ID == provID).ToList();

    var model = new MyDoubleStructureModel(null, MyProvidersInMyModel)

    return View(model);
}
public ActionResult UpdateListProvider(int provID)
{
列出MyProvidersInMyModel=_entities.Providers.Where(c=>c.PROV_ID==provID.ToList();
var模型=新的MyDoubleStructureModel(null,MyProvidersInMyModel)
返回视图(模型);
}
谢谢你的帮助。
(如果描述不够清晰,请询问我)

是的,您可以使用jquery和常规表单post更新部分模型。现在您只需编写模型的UpdateListProvider ActionREsult和update ProviderID字段。您可以选择返回true或false,以显示数据更新是否成功

public ActionResult UpdateListProvider(int porvID)
{
    var model = //get model to update
    model.provID = provID
    if(Save(model))return Content("true");
    return Content("false");
}
在客户端,您可以编写ajax的成功回调来显示错误或成功消息

$("#ddlChangeProviders").change(function() {
                $.ajax({
                    type: "POST",
                    url: "/Client/UpdateListProvider/?provID=" + $("#ddlChangeProviders").val(),
                    success:function(data)
                           {
                               if(data == 'true'){alert('updated successfully');}
                               else{alert('could not update record');}
                           }
                });

谢谢你的回答。你能详细说明“var model=//获取要更新的模型”吗“?因为您的目标是更新模型。因此,当您提供了实际的方法时,您只需从db等获取有问题的模型,并更新其provID字段。您还可以在ajax请求中传递模型的唯一标识符,这样您就可以轻松地从dbWell中获取模型对象。我将以不同的方式问我的上一个问题,这似乎太简单了,不可能是真的:):可以使用(并填充)当前表单的“当前模型”的行代码是什么?行的“complete”代码:“var model=//get model to update”?如果您可以粘贴呈现表单的ActionResult的代码。我会更好地回答这个问题,请编辑这个问题来粘贴代码,而不是使用注释。我已经更新了我的初始帖子:)希望它能有所帮助。顺便说一句,谢谢你的帮助,穆罕默德。
public ActionResult UpdateListProvider(int porvID)
{
    var model = //get model to update
    model.provID = provID
    if(Save(model))return Content("true");
    return Content("false");
}
$("#ddlChangeProviders").change(function() {
                $.ajax({
                    type: "POST",
                    url: "/Client/UpdateListProvider/?provID=" + $("#ddlChangeProviders").val(),
                    success:function(data)
                           {
                               if(data == 'true'){alert('updated successfully');}
                               else{alert('could not update record');}
                           }
                });