【问题标题】:Using ASP.NET controls in WebMatrix cshtml pages在 WebMatrix cshtml 页面中使用 ASP.NET 控件
【发布时间】:2011-03-11 23:51:26
【问题描述】:

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

【问题讨论】:

    标签: asp.net webmatrix


    【解决方案1】:

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

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

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

    【讨论】:

    • 非常感谢。我会检查 jQuery UI。
    【解决方案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。(它是免费的 :) 和开源)

    【讨论】:

    • 谢谢。它们看起来很棒!
    【解决方案3】:

    您不能在 ASP.NET 网页中使用服务器控件。它被设计为 Web 表单的替代品。

    您可以使用纯 HTML,也可以使用一系列 HTML 帮助器,其工作方式与 MVC 中的帮助器类似(没有 ModelBinding)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-13
      • 1970-01-01
      • 2021-05-19
      • 1970-01-01
      相关资源
      最近更新 更多