如何在asp mvc2中的site.master页面上显示表数据或传递视图数据

时间:2011-07-04 13:06:50

标签: asp.net-mvc-2

我想在site.master页面上显示我的表格数据并显示数据所有动作方法PLZ任何人帮我或者给我示例代码我的模型和控制器代码在这里

    namespace DomainModel.Entities
  {

    [Table(Name = "Requirements")]
public class Requirement

  {
public int  RequirementID{ get; set; }
 [Column] public int Experience { get; set; }
 [Column] public string JobTitle { get; set; }
 [Column] public string Qualification { get; set; }
 [Column] public string Location { get; set; }
 [Column] public int Budget { get; set; }
 [Column] public DateTime Date { get; set; } 
      }

       }

我的存储库代码在这里

namespace DomainModel.Concrete
 {
public class SqlCandidateRepository : ICandidateRepository
{

 private Table<Requirement> Requirementtable;

  public SqlCandidateRepository(string connectionString)
    {

  Requirementtable = (new DataContext(connectionString)).GetTable<Requirement>();

   public IQueryable<Requirement> NewRequirement()
    { 
    return  from d in Requirementtable where d.Date>=System.DateTime.Now select d;

    }

这是我的控制器代码

  public ActionResult ShownewRequirement()
    {

     ViewData[" requirement"] = IcandidateRepository.NewRequirement();
      return View();

    }

1 个答案:

答案 0 :(得分:0)

+1好问题。

由于母版页不采用任何模型。为了能够从主页面中访问数据,请在基本控制器中使用ViewData(或ASP.NET MVC3中的ViewBag)。

在所有将在其填充的视图中使用该母版页的控制器中,我将这些控制器作为基本控制器的子控件,让我们称之为BaseController

示例:

public abstract class BaseController : Controller
{
    public BaseController()
    {
        ViewData["MyName"] = "LordCover";
    }
}

现在,在主页的标记中,您可以使用:

<h2>Hello <%: ViewData["MyName"] %>!</h2>

输出将是:

Hello LordCover!

我再说一遍,为了让所有控制器都能利用这个控制器,他们必须继承它。

希望有所帮助。