首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.NET MVC上的IronPython

问ASP.NET MVC上的IronPython
EN

Stack Overflow用户
提问于 2009-01-14 03:45:24
回答 3查看 12.7K关注 0票数 24

有没有人尝试过使用IronPython的ASP.NET MVC?最近做了很多Python开发,在我进入一个潜在的ASP.NET MVC项目时,如果能继续使用这门语言就好了。

我特别感兴趣的是使用.NET特性来开发Python的动态特性,并想知道这是否可能。对于某些动态编程,另一种可行的方法是带有dynamic关键字的C# 4.0。

想法,经历?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-01-14 14:16:01

是的,there is an MVC example from the DLR team。

您可能还会对Spark感兴趣。

票数 14
EN

Stack Overflow用户

发布于 2010-11-19 16:59:16

在ASP.NET MVC中使用IronPython:http://www.codevoyeur.com/Articles/Tags/ironpython.aspx

本页面包含以下文章:

  • 适用于ASP.NET MVC
  • 的简单IronPython ActionFilter适用于ASP.NET MVC
  • 的简单IronPython路由映射器适用于ASP.NET MVC
  • 的简单IronPython ViewEngine适用于ASP.NET MVC<代码>F210
票数 8
EN

Stack Overflow用户

发布于 2016-02-24 00:41:54

我目前正在做这件事。它已经支持了很多东西:https://github.com/simplic-systems/ironpython-aspnet-mvc

有关这方面的更多信息:

导入aspnet模块

代码语言:javascript
复制
import aspnet

您可以编写自己的控制器

代码语言:javascript
复制
class HomeController(aspnet.Controller):

    def index(self):
        return self.view("~/Views/Home/Index.cshtml")

您可以自动注册所有控制器

代码语言:javascript
复制
aspnet.Routing.register_all()

您可以使用不同的http方法。

代码语言:javascript
复制
@aspnet.Filter.httpPost
    def postSample(self):
        return self.view("~/Views/Home/Index.cshtml")

而且还有更多的东西。下面是一个非常简短的例子

代码语言:javascript
复制
# ------------------------------------------------
# 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")
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/441838

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档