【发布时间】:2014-04-16 11:59:55
【问题描述】:
我正在开发一个基于 asp.NET MVC 5 的应用程序
此应用程序从本地 Web 服务下载大量数据并应将其显示出来。 因为数据多,所以我通过局部视图调用webservice,像这样:
<div class="partialContents" id="partialContent" data-url="/Home/Action">
Loading...
</div>
这是使用以下 JS 代码异步加载的:
$(document).ready(function (e) {
$(".partialContents").each(function (index, item) {
var url = $(item).data("url");
if (url && url.length > 0) {
$(item).load(url);
}
});
});
这符合预期。
但是现在我必须将表单的值传递给这个局部视图。
我知道我可以像往常一样传递参数,例如对/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 编写代码,所以我有以下来源的代码(按照他的教程):blog.michaelckennedy.net
//附加信息
我的 ViewModel 如下所示:
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; }
}
我的 Java 请求是这样的:
$(item).load(url, {"DatumVon":dateVon, "DatumBis":dateBis, "Werk":werk, "Pruefplatz":pruefplatz, "Auftrag":auftrag, "Gueltig":gueltig});
【问题讨论】:
标签: c# javascript asp.net asp.net-mvc parameter-passing