值未被传递到局部视图中

时间:2011-09-07 19:17:04

标签: jquery asp.net asp.net-mvc

对于我的asp.net项目,我有两个部分视图有条件地显示。

ie:如果a == true,则显示视图1.否则显示视图2.

在这两个中我都有一个隐藏变量在jquery中设置

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

然后在每个部分视图中发布:

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

这在一个方面效果很好,但在另一方面,当我使用""时,该值为Request.Form[] 我可以在两个局部视图之间看到的唯一区别是一个继承动态:

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

其他部分视图(不起作用的视图)继承模型:

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

这会对hiddenVal产生影响吗?

1 个答案:

答案 0 :(得分:1)

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

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

或者也许使用bind decorator;

[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)
{
相关问题