在视图中声明函数或方法

时间:2011-12-02 14:22:56

标签: c# .net asp.net-mvc-2

由于.NET MVC中的.aspx页面中没有其他代码,因此在.aspx页面(视图)中声明函数或方法direclty似乎是不可能的。

在经典ASP中,我可以添加一个带有runat =“server”的脚本标签来声明一个本地函数。

每个客户都有自己的视图。控制器中的方法将正确的视图发送给正确的客户端。

我想做的是根据客户端改变一些方法逻辑。由于这是高度动态的,我不想在控制器中添加类或方法,然后在每次有新客户端时重新生成并上传到生产中。

所以我想在视图中直接添加一些逻辑。这可能吗?

1 个答案:

答案 0 :(得分:7)

  

在经典ASP中,我可以添加一个带有runat =“server”的脚本标签来声明一个本地函数。

我猜你的意思是经典的WebForms,因为在经典的ASP中runat="server"属性不存在。

因此,您可以使用WebForm视图引擎在ASP.NET MVC视图中执行相同的操作:

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>

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

    <script runat="server" type="text/C#">
        public string Foo()
        {
            return "bar";
        }
    </script>

    <div><%= Foo() %></div>

</asp:Content>

现在这是否是一个好主意,如果你应该这样做是一个完全不同的主题。