由于.NET MVC中的.aspx页面中没有其他代码,因此在.aspx页面(视图)中声明函数或方法direclty似乎是不可能的。
在经典ASP中,我可以添加一个带有runat =“server”的脚本标签来声明一个本地函数。
每个客户都有自己的视图。控制器中的方法将正确的视图发送给正确的客户端。
我想做的是根据客户端改变一些方法逻辑。由于这是高度动态的,我不想在控制器中添加类或方法,然后在每次有新客户端时重新生成并上传到生产中。
所以我想在视图中直接添加一些逻辑。这可能吗?
答案 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>
现在这是否是一个好主意,如果你应该这样做是一个完全不同的主题。