2011-09-07 81 views
0

对于我的asp.net项目,我有两个部分视图有条件显示。值不被传递到局部视图

即:如果一个== TRUE,显示图1一样,显示图2

在两者我有一个隐藏的变量中的jquery被设置

$("#hiddenVal").val($('#EmployeeSelected').val());

,然后它被张贴在每个部分观点:

<%: Html.Hidden("hiddenVal") %>

这一个伟大的工程,但在超视距ER值是""当我使用Request.Form[] 我可以在这两个局部视图之间看到的唯一区别是,一个继承了动态:

Inherits="System.Web.Mvc.ViewUserControl<dynamic>"

其他局部视图(一不工作)继承型号:

Inherits="System.Web.Mvc.ViewUserControl<model>

这会使得在hiddenVal有区别吗?

+2

请显示您的控制器操作,以及您的主视图和2个部分视图。目前你的问题对我来说毫无意义。 –

回答

1

您是否尝试过在您的控制器中执行以下操作之一;

[HttpPost] 
public ActionResult AddPosition(MyModel1 model1, MyModel2 model2) 
{ 

或者可能使用绑定装饰器;

[HttpPost] 
public ActionResult ChangeDetails([Bind(Prefix="ContactDetails")] userDetail UserDetail) 
{ 

绑定的原因是,您的控件可能被添加了一些您不期待的内容。在上面的示例中,控件的前缀是“ContactDetails”。

你也可以尝试使用FormCollection;

[HttpPost] 
public ActionResult CVMaintenance(FormCollection collection) 
{ 

[HttpPost] 
public ActionResult CVMaintenance(MyModel1 model1, FormCollection collection) 
{