2014-02-20 43 views
2

我有一个很长的表单,使用部分视图分成不同的页面。当用户点击以转到下一个空间视图表单时,我想将输入的数据保存到一个局部视图表单中。然后让它回到以前的视图,那么输入的数据就会在那里。如何保存页面之间的表单数据asp.net mvc?

所以我需要的是将数据发布到控制器。 虽然我所使用的部分观点是:

@Ajax.ActionLink("Job Information", "JobInformation", new AjaxOptions { InsertionMode = InsertionMode.Replace, UpdateTargetId = "jobForm"}) 

当他们点击跳转链接需要他们到下一个页面(部分图)

那么,如何提交表单当他们点击行动链接?

回答

2

如何在点击操作链接时提交表单?

我需要的是将数据发布到控制器。

而不是使用AJAX ActionLink使用AJAX BeginForm,如下所示。比如说你有一个像下面这样的模型来填充一个下拉列表。

public class DDLModel 
{ 
    public List<SelectListItem> Items { get; set; } 
    public string SelectedValue { get; set; } 
} 

然后,你必须控制器来显示该模型 -

@model MVC.Controllers.DDLModel 
@{ 
    ViewBag.Title = "Index"; 
} 

<h2>Index</h2> 
<script src="~/Scripts/jquery-1.10.2.min.js"></script> 
<script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script> 


@using (Ajax.BeginForm("Submit", "Ajax", new AjaxOptions { UpdateTargetId = "SellerWebSettings" }, new { id = "form1" })) 
{ 
    @Html.DropDownListFor(m => m.SelectedValue, Model.Items, "DDL") 
    <input type="submit" value="Click" /> 
} 

<div id="SellerWebSettings"> 
</div> 

在上面的表格,你有一个AJAX BeginForm(),这将使一个AJAX所有到另一个控制器动作将返回一个PartialView 。该模型也将被转发到局部视图,如下图所示 -

public ActionResult Submit(DDLModel model) 
{ 
    return PartialView("MyPartial",model); 
} 

和部分观点如下 -

@model MVC.Controllers.DDLModel 

<div> 
    @DateTime.Now - @Model.SelectedValue 
</div> 

所以,当我们在选择下拉列表项,然后点击按钮,我们有以下输出 -

enter image description here

+0

非常感谢! @ramiramilu – codingNightmares

相关问题