有没有人尝试过使用IronPython的ASP.NET MVC?最近做了很多Python开发,在我进入一个潜在的ASP.NET MVC项目时,如果能继续使用这门语言就好了。
我特别感兴趣的是使用.NET特性来开发Python的动态特性,并想知道这是否可能。对于某些动态编程,另一种可行的方法是带有dynamic关键字的C# 4.0。
想法,经历?
发布于 2009-01-14 14:16:01
是的,there is an MVC example from the DLR team。
您可能还会对Spark感兴趣。
发布于 2010-11-19 16:59:16
在ASP.NET MVC中使用IronPython:http://www.codevoyeur.com/Articles/Tags/ironpython.aspx
本页面包含以下文章:
发布于 2016-02-24 00:41:54
我目前正在做这件事。它已经支持了很多东西:https://github.com/simplic-systems/ironpython-aspnet-mvc
有关这方面的更多信息:
导入aspnet模块
import aspnet您可以编写自己的控制器
class HomeController(aspnet.Controller):
def index(self):
return self.view("~/Views/Home/Index.cshtml")您可以自动注册所有控制器
aspnet.Routing.register_all()您可以使用不同的http方法。
@aspnet.Filter.httpPost
def postSample(self):
return self.view("~/Views/Home/Index.cshtml")而且还有更多的东西。下面是一个非常简短的例子
# ------------------------------------------------
# This is the root of any IronPython based
# AspNet MVC application.
# ------------------------------------------------
import aspnet
# Define "root" class of the MVC-System
class App(aspnet.Application):
# Start IronPython asp.net mvc application.
# Routes and other stuff can be registered here
def start(self):
# Register all routes
aspnet.Routing.register_all()
# Set layout
aspnet.Views.set_layout('~/Views/Shared/_Layout.cshtml')
# Load style bundle
bundle = aspnet.StyleBundle('~/Content/css')
bundle.include("~/Content/css/all.css")
aspnet.Bundles.add(bundle)
class HomeController(aspnet.Controller):
def index(self):
return self.view("~/Views/Home/Index.cshtml")
def page(self):
# Works also with default paths
return self.view()
def paramSample(self, id, id2 = 'default-value for id2'):
# Works also with default paths
model = SampleModel()
model.id = id
model.id2 = id2
return self.view("~/Views/Home/ParamSample.cshtml", model)
@aspnet.Filter.httpPost
def postSample(self):
return self.view("~/Views/Home/Index.cshtml")
class SampleModel:
id = 0
id2 = ''
class ProductController(aspnet.Controller):
def index(self):
return self.view("~/Views/Product/Index.cshtml")https://stackoverflow.com/questions/441838
复制相似问题