c# - 在 View 中声明函数或方法

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

由于 .NET MVC 中的 .aspx 页面中没有更多的代码隐藏,因此似乎不可能在 .aspx 页面( View )中直接声明函数或方法。

在经典的 ASP 中,我可以添加带有 runat="server"的脚本标记来声明本地函数。

每个客户都有自己的观点。 Controller 中的方法将正确的 View 发送到正确的客户端。

我想做的是根据客户端更改一些方法逻辑。由于这是高度动态的,我不想在 Controller 中添加类或方法,然后在每次我们有新客户端时在生产环境中重建和上传。

于是想到直接在 View 中添加一些逻辑。这可能吗?

最佳答案

In classic ASP, I could add a script tag with runat="server" to declare a local function.

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

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

<%@ 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>

现在这是否是一个好主意以及您是否应该这样做是一个完全不同的话题。

关于c# - 在 View 中声明函数或方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8357750/

相关文章:

asp.net-mvc - HiddenInput(DisplayValue = false)] 与 [ScaffoldColumn(false)]

基于 Asp.Net MVC 操作的自定义授权

c# - 使用 log4net 的日志程序集版本?

c# - 如何添加xml :lang ="en" to <html> tag

c# - BitmapImage DecodePixelWidth 奇怪的行为

c# - 在 C# 中,为什么 string.Empty 是一个字段而不是常量?

c# - 两个不同类的隐式运算符

.net - nAnt 是否仍受支持并适用于 .net 3.5/VS2008?

c# - 获取覆盖的属性属性

asp.net-mvc-2 - 使用routeValue从MVC url中删除索引