C# 将一个对象传递给另一个对象会在视图结束后丢失
我是MVC4的新手,可能会很感激能有更多的人手。提前谢谢 我的项目以一个强键入ticketnumber的页面开始。在该视图中,用户可以选择任意数量的50个复选框。然后将其选择传递给下一个控制器GenerateCombosControllerC# 将一个对象传递给另一个对象会在视图结束后丢失,c#,asp.net-mvc-4,visual-studio-2012,C#,Asp.net Mvc 4,Visual Studio 2012,我是MVC4的新手,可能会很感激能有更多的人手。提前谢谢 我的项目以一个强键入ticketnumber的页面开始。在该视图中,用户可以选择任意数量的50个复选框。然后将其选择传递给下一个控制器GenerateCombosController public class TicketNumbers { public string Name { get; set; } public List<bool> Numbers { get; set;
public class TicketNumbers
{
public string Name { get; set; }
public List<bool> Numbers { get; set; }
public TicketNumbers() {
Numbers = new List<bool>();
for (int i = 0; i < 50; i++) // default 50 for this example
{
Numbers.Add(false);
}
}
}
如您所见,我希望在用户对ReportCombinations的属性进行一些更改后,将ReportCombinations对象提交回相同的索引视图。我当然会把那些修改过的属性拿回来,但是rc.Numbers返回为null。>>理想情况下,当用户更改rc的属性时,他们将能够继续提交相同的页面以查看不同的结果
我已经尝试将rc.Numbers属性、字符串名称和列表编号作为隐藏值放在视图中,但如果这是必需的,则似乎无法正确执行?使用ViewModel会有所不同吗?我也看到过一些例子,其中ticketNumber将被放置在会话中,并使用以下方法返回,但我认为这一点都不优雅。使用jQuery并实现您自己的提交,在那里您可以使用$.ajax发布到控制器
var yourObjectData = { Name: "Name", Numbers: [1,2,3,4,5] }
$.ajax({
url : "Controller/Submit",
type: "POST",
data : yourObjectData ,
success: function(data, textStatus, jqXHR)
{
//data - response from server
}
});
显然还有更多的代码要做,但这就是如何手动构造模型对象的方法显示Index.cshtml视图!具体显示如何在视图中存储Numbers属性。我没有答案,否则我就不会问了。谢谢。关于ReportCombinations呢?什么是ReportCombinations?ReportCombinations是另一个类,它包含在上面的问题中省略的ticketNumber和其他属性。lol,那么你为什么要问我..=。关键是您的POST数据需要是一个可以通过js构建的JSON对象。请投票,如果这有帮助。。。Get bills to pay=ReportCombinations是要过帐回提交的对象。请复习这个问题。
var yourObjectData = { Name: "Name", Numbers: [1,2,3,4,5] }
$.ajax({
url : "Controller/Submit",
type: "POST",
data : yourObjectData ,
success: function(data, textStatus, jqXHR)
{
//data - response from server
}
});