2011-09-07 77 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) 
{