在WebMatrix cshtml页面中使用ASP.NET控件

时间:2011-03-11 23:51:26

标签: asp.net webmatrix

我正在使用.cshtml文件中的razor语法使用WebMatrix构建网站。但是我很难过如何使用Visual Studio中工具箱中的常规asp.net控件集 - 例如:日历,面板,单选按钮列表等...是否可以使用这些或者可以使用你只使用剃须刀助手吗?

3 个答案:

答案 0 :(得分:3)

您不能将razor / .cshtml使用ASP.NET控件。 ASP.NET控件适用于ASP.NET WebForms视图引擎。 Razor是一种与Web表单完全不同的视图引擎。

如果您真的想使用“旧”控件,请切换到.aspx页面。如果这不是一个选项,请查看像jQuery UI这样的UI库。这应该会给你一组类似的控件。

请注意,在razor中,许多控件(如单选按钮列表)已过时。只需几行标记即可创建相同的行为,但不会出现数据绑定的麻烦。

答案 1 :(得分:2)

作为替代工具,您可以使用Telerik Tabstrip并将.csHtml文件作为局部视图传递给它。 有点像这样:

@{ Html.Telerik().TabStrip()
        .Name("TabStrip")
        .Items(tabstrip =>
        {

            tabstrip.Add()
                .Text("My First tab")
                 .Action("Index", "ControllerName")
                .ImageUrl("~/Content/Common/Icons/Suites/mvc.png")
                .Content(
                @Html.Partial("csHtmlName_1", (List<TypeOfYourData>)ViewData["NameOfrelatedView"]).ToString()
                );

            tabstrip.Add()
                .Text("My Second Tab")
                 .Action("secondAction", "ControllerName")
                .ImageUrl("~/Content/Common/Icons/Suites/sl.png")
                .Content(@Html.Partial("csHtmlName_2",  (List<TypeOfYourDate>)ViewData["NameOfrelatedView"]).ToString()
                );
        })
        .SelectedIndex(0)
        .Render();
}

请注意,您需要先安装MVC Telerik。(它是免费的:)和OpenSource)

答案 2 :(得分:1)

您无法在ASP.NET网页中使用服务器控件。它被设计为Web窗体的替代品。

您可以使用纯HTML,也可以使用HTML帮助程序,其工作方式与MVC中的类型相同(不使用ModelBinding)。