我将模型对象发送到强类型视图:
public ActionResult Index()
{
ReportModel model = new ReportModel();
return View(model);
}
我希望视图使用jquery中的ajax将相同的模型实例发送回另一个ActionMethod。
$.ajax({
url: '/Report/getPT',
type: 'POST',
data: {
model:'@Model'
}
这是接收相同模型实例的ActionMethod。
public ActionResult getPT(ReportModel model){
}
答案 0 :(得分:0)
这取决于您希望如何处理服务器上的模型以及您希望返回的内容。 您是希望返回部分视图还是只是指示提交的内容?
您有几种选择。
您可以使用Ajax表格发送模型
@using (Ajax.BeginForm("getPT", new AjaxOptions { HttpMethod="POST", UpdateTargetId = "UpdateContainer" }))
{
<!-- FORM elements goes here... -->
}
在你看来,放置
<div id="UpdateContainer"></div>
您要渲染局部视图的位置
不要返回ActionResult,而是将操作设置为返回PartialViewResult
public PartialViewResult getPT(ReportModel repModel)
{
// instantiate a viewmodel
var model = new YourViewModel();
return PartialView("YourPartial", model);
}
或者,如果你不需要它来返回部分视图,也许你只需要知道提交的方式,你可以用jQuery发送它,就像你在尝试代码一样,发送到WEB API控制器< / p>
public class ApiTestController : ApiController
{
public bool getPT(ReportModel model)
{
// do the work with your model
return ..... whatever ? :)
}
}