Asp.net mvc 4 请参阅控制器页面中的隐藏类型ID

Asp.net mvc 4 请参阅控制器页面中的隐藏类型ID,asp.net-mvc-4,hidden,Asp.net Mvc 4,Hidden,我需要在控制器页面中使用hdNoOfColumns和hdNoOfRows,它们在视图页面中定义为隐藏类型。我得到一个“上下文不存在”错误。如何在控制器页面中引用隐藏的类型ID 视图: asp.net mvc不能作为asp.net web窗体使用,您需要创建一个模型,然后使用它: 首先创建一个模型: public class TableModel { public string NoOfColumns { get; set;} public string NoOfRows { get;se

我需要在控制器页面中使用
hdNoOfColumns
hdNoOfRows
,它们在视图页面中定义为隐藏类型。我得到一个“上下文不存在”错误。如何在控制器页面中引用隐藏的类型ID

视图:


asp.net mvc不能作为asp.net web窗体使用,您需要创建一个模型,然后使用它:

首先创建一个模型:

public class TableModel
{
  public string NoOfColumns { get; set;}
  public string NoOfRows { get;set; }
}
现在在控制器操作中:

public class BarController : Controller
{

   public ActionResult Foo()
   {
     TableModel model = new TableModel();

     model.NoOfColumns= count.ToString();
     dsCount = ds.Tables[0].Rows.Count;
     model.NoOfRows= dsCount.ToString();
     seatCount = dsS.Tables[0].Rows.Count;

    return View(model);
   }
}
现在在您的视图中使用
HiddenFor()

通过将其放入表单中来发布:

若要将值发回控制器,您必须将其放入以下表格中:

@model TableModel

@using(Html.BeginForm("Foo", "Bar", FormMethod.Post))
{
<input id="hdNoOfRows" type="hidden" name="hdNoOfRows" />
<input id="hdNoOfColumns" type="hidden" name="hdNoOfColumns"/>
<input type="submit" value="Post"/>
}

@欢迎使用user3793029,从简单的asp.net mvc文章或教程开始,获取更多此处提到的claritycontroller函数。需要在void函数中编写,我在另一个Index Actionresult方法中调用此void函数。索引视图已经引用了另一个称为分配模型的模型,因此我不能在视图中使用viewmodel作为引用page@user3793029这取决于您的场景,但通常我们的操作返回类型总是
ActionResult
,或者它的dervied类型父模型不起作用。它向我展示了模型并没有包含两个模型中定义的所有变量的定义
public class BarController : Controller
{

   public ActionResult Foo()
   {
     TableModel model = new TableModel();

     model.NoOfColumns= count.ToString();
     dsCount = ds.Tables[0].Rows.Count;
     model.NoOfRows= dsCount.ToString();
     seatCount = dsS.Tables[0].Rows.Count;

    return View(model);
   }
}
@model TableModel


@Html.HiddenFor(x=>x.NoOfColumns)
@Html.HiddenFor(x=>x.NoOfRows)
@model TableModel

@using(Html.BeginForm("Foo", "Bar", FormMethod.Post))
{
<input id="hdNoOfRows" type="hidden" name="hdNoOfRows" />
<input id="hdNoOfColumns" type="hidden" name="hdNoOfColumns"/>
<input type="submit" value="Post"/>
}
public class BarController : Controller
{

    public ActionResult Foo()
    {
      TableModel model = new TableModel();

      model.NoOfColumns= count.ToString();
      dsCount = ds.Tables[0].Rows.Count;
      model.NoOfRows= dsCount.ToString();
      seatCount = dsS.Tables[0].Rows.Count;

     return View(model);
   }

   [HttpPost]
   public ActionResult Foo(TableModel model)
   {
      // do saving in db or whatever business logic

      return View(model);
   }

}