我们在剃须刀中有用户控制和隐藏字段吗?

时间:2013-03-22 07:12:13

标签: asp.net-mvc asp.net-mvc-3 razor

在Asp.net中,有一个用户控件,这是一个 ascx 页面,我们可以有隐藏的字段:

public partial class classA:System.Web.Mvc.ViewUserControl<Models.classB>
{
  //hidden field
  public string url
  {
    get{  ......   }
  }
}

但现在我在asp.net mvc3中使用 razor ,这是 cshtml 文件。我们有相应的东西吗?我现在如何使用隐藏字段?

2 个答案:

答案 0 :(得分:1)

MVC视图没有字段,就像Web窗体用户控件一样。

MVC视图(部分视图)也通过将 Viewmodel 类的实例传递给它们来获取数据。您可以使用@model指令(通常是视图中的第一行)指示viewmodel类的类型:

@model MyViewmodelClass

<span>@Model.MyClassProperty</span>

viewmodel类本身可以包含任何类的私有字段。

如果你需要在视图中使用变量,你可以简单地在剃刀代码块中声明它们并在视图中使用它们:

@{
  var privatevar = "value";
}
<span>@privatevar</span>

但是,作为最佳实践,ASP.NET MVC中视图的职责应限于显示数据,因此不包含与此无关的代码。

答案 1 :(得分:0)

在使用剃须刀时,必须拥有基本的HTML知识,因为您需要编写一些html,并且没有和Drag and Drop在页面上添加控件。 MVC引入了部分视图,可以说是用户控件的替代/替代。 您可以通过选择“视图创建”对话框中的“创建局部视图”复选框来创建PartialView。其次在MVC中,创建局部视图手册并不困难。 当您使用Razor时,只需在视图顶部设置Layout = null;,它就会被视为部分视图。其次,您可以使用Style属性下的display属性轻松地将任何字段隐藏。

快乐编码:)