C# asp.NET MVC将信息传递给PartialView

C# asp.NET MVC将信息传递给PartialView,c#,javascript,asp.net,asp.net-mvc,parameter-passing,C#,Javascript,Asp.net,Asp.net Mvc,Parameter Passing,我正在开发一个基于asp.NETMVC5的应用程序 此应用程序从本地Web服务下载大量数据,并应显示这些数据。 因为它包含大量数据,所以我通过局部视图调用webservice,如下所示: <div class="partialContents" id="partialContent" data-url="/Home/Action"> Loading... </div> public class PostForm { public strin

我正在开发一个基于asp.NETMVC5的应用程序

此应用程序从本地Web服务下载大量数据,并应显示这些数据。 因为它包含大量数据,所以我通过局部视图调用webservice,如下所示:

<div class="partialContents" id="partialContent" data-url="/Home/Action">
   Loading...
</div>
public class PostForm
    {
        public string DatumVon { get; set; }
        public string DatumBis { get; set; }
        public string Werk { get; set; }
        public string Pruefplatz { get; set; }
        public string Auftrag { get; set; }
        public string Gueltig { get; set; }
    }
$(item).load(url, {"DatumVon":dateVon, "DatumBis":dateBis, "Werk":werk, "Pruefplatz":pruefplatz, "Auftrag":auftrag, "Gueltig":gueltig});
这就像预期的那样

但是现在我必须将表单的值传递给这个局部视图。 我知道我可以像往常一样传递参数,比如对
/Home/Action/Params
的请求,但我必须传递许多参数,其中一些参数可能未设置或为空或空。 因此,我寻找一种可能性,将ViewBag的对象或值或类似的内容传递给局部视图

在我的代码中是否有可能将模型对象传递给控制器? 数据必须送到控制器进行进一步验证等等。我知道我可以将模型传递给视图本身,但我需要控制器中的这些数据

通过以下方式访问我的控制器:

public ActionResult Index()
    {
        //Do things
        return View(model);
    }

public ActionResult Action()
    {
        //Validate the Form-Data
        //Download Data from Webservice
        return PartialView("MyPartialView", model);
    }
任何帮助或提示都将不胜感激

也许我必须编辑Javascript代码,但我通常不使用JS编写代码,因此我有以下来源的代码(遵循他的教程):

//其他信息

我的ViewModel如下所示:

<div class="partialContents" id="partialContent" data-url="/Home/Action">
   Loading...
</div>
public class PostForm
    {
        public string DatumVon { get; set; }
        public string DatumBis { get; set; }
        public string Werk { get; set; }
        public string Pruefplatz { get; set; }
        public string Auftrag { get; set; }
        public string Gueltig { get; set; }
    }
$(item).load(url, {"DatumVon":dateVon, "DatumBis":dateBis, "Werk":werk, "Pruefplatz":pruefplatz, "Auftrag":auftrag, "Gueltig":gueltig});
我的Java请求如下:

<div class="partialContents" id="partialContent" data-url="/Home/Action">
   Loading...
</div>
public class PostForm
    {
        public string DatumVon { get; set; }
        public string DatumBis { get; set; }
        public string Werk { get; set; }
        public string Pruefplatz { get; set; }
        public string Auftrag { get; set; }
        public string Gueltig { get; set; }
    }
$(item).load(url, {"DatumVon":dateVon, "DatumBis":dateBis, "Werk":werk, "Pruefplatz":pruefplatz, "Auftrag":auftrag, "Gueltig":gueltig});

如果有很多参数要传递给action方法,请创建一个包含这些参数的模型。例如,我在下面创建了MyParamModel类:

 public class MyParamModel
 {
    //Your parameters go here
    public int IntProperty { get; set; }
    public string StringProperty { get; set; }
 }
然后修改action方法以接受此类作为参数

public ActionResult Action(MyParamModel model)
修改脚本中的加载调用,将信息传递到url,如下所示

$(item).load(url, {"IntProperty":1, "StringProperty": "test"});
一旦控制器端有了模型,就可以相应地对其进行验证。
希望这有帮助。如果有,请将此标记为答案。

谢谢您的回答。看来这是可行的。由于复活节周末的关系,我将在周三尝试你的解决方案。如果有效,我会将您的解决方案标记为正确;)我试过你的解决办法。如果我让它完全像你一样,它会终止并告诉我
没有为这个对象定义无参数构造函数。
但是在请求体中,我看到了数据。所以我试着通过使用
Request.Form
-集合来获取它,但是这只返回,嗯,什么也没有。甚至不是空字符串或null。您能提供视图模型的代码吗?我希望你的模型没有一个没有参数的构造函数。几秒钟前,我解决了这个问题:是的,因为我的控制器是用参数实现的:
public ActionResult Action(PostForm)
,但它需要一个没有参数的方法,比如
public ActionResult Action()
你知道为什么会发生这种情况吗?@stueli:这些是你描述的错误的链接。检查它们是否有用。和