如何在没有代码隐藏的情况下在页面中使用“使用”关键字 ASP.NET

How to use 'Using' keyword in ASP.NET page without code behind

提问人:Snake Eyes 提问时间:12/9/2011 更新时间:12/9/2011 访问量:1610

问:

我想在我的 asp.net 应用程序中包含一些命名空间及其类。可以用关键字吗?using

我有这个:

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

    <%
       SomeNamespace.Models.NewsModel getNewsDetail = ViewData["NewsDetail"] as SomeNamespace.Models.NewsModel;

       if ( getNewsDetail != null ) {
            %>
            <h2>'<%= getNewsDetail.NewsTitle%>' details</h2>
            <div class="discipline-details">
            <ul>
            <li>
            <h3> <%= getNewsDetail.NewsTitle%></h3>            
            <p><%= getNewsDetail.NewsDescription%></p>
            </li>
            </ul>
            </div>
    <%
          } else {
         %> <p class="error">No news is available. Below is listed the available news.</p>
         <div id="home-news">

        </div>
          <%
          }
     %>

</asp:Content>

我使用了 MVC2 架构......

我想直接使用类。NewsModel getNewsDetail = ViewData["NewsDetail"] as NewsModel

谢谢你,如果我的问题很差,对不起。

asp.net asp.net-mvc-2 using-directives using-declaration

评论

2赞 Reigo Hein 12/9/2011
视图中的逻辑太多,您应该为此创建一个自定义 HTML 帮助程序。
0赞 Ruben 12/9/2011
在你看来,我完全同意 Reigo Hein 的整个班级......
0赞 Snake Eyes 12/9/2011
@Reigo:如何创建自己的帮手以及在哪里?我必须创建一个具有 TagBuilder 方法的新类?或者如何 ?
0赞 Reigo Hein 12/9/2011
是的,您必须创建一个 TagBuilder,它接受您定义的 HTMLHelper 属性和参数。

答:

3赞 Samich 12/9/2011 #1

使用视图顶部的“导入”:

<%@ Import Namespace="SomeNamespace" %>
1赞 Stilgar 12/9/2011 #2

您可以添加

<%@ Import Namespace="The.Namespace" %>

在视图的顶部,但最初的想法似乎有问题。您可能应该使用强类型视图。

1赞 lnu 12/9/2011 #3

您可以执行以下操作:

<%@ Import Namespace="MyNamespace" %>
1赞 Elias Hossain 12/9/2011 #4

根据你的代码块,请你试试下面:(把这段代码写在页面顶部,page指令)Page

<%@ Import Namespace="SomeNamespace.Models" %>