从Console到Web-App

时间:2012-02-26 20:14:41

标签: c# asp.net-mvc

以下代码的“非控制台应用程序”表示形式。

    class Sword 
    {
        public void Hit(string target)
        {
            Console.WriteLine("Chopped {0} clean in half", target);
        }
    }

我似乎无法弄清楚这个代码在C#ASP.NET MVC项目中会是什么样子。

4 个答案:

答案 0 :(得分:5)

class Sword 
{
    public string Hit(string target)
    {
        return string.Format("Chopped {0} clean in half", target);
    }
}

然后你可以有一个控制器:

public class HomeController: Controller
{
    public ActionResult Index()
    {
        var sword = new Sword();
        return View((object)sword.Hit("foo"));
    }
}

和相应的观点:

@model string
<div>@Model</div>

我完全不知道为什么你的问题用Ninject标记,但是如果你想在ASP.NET MVC应用程序中使用Ninject,你可以安装Ninject.MVC3 NuGet包并查看一些教程,例如{{ 3}}例如。

答案 1 :(得分:3)

您可以使用操作SwordController创建Hit

public class SwordController : Controller
{
    public ActionResult Hit(string target)
    {
        return Content(string.Format("Chopped {0} in half", target));
    }
}

如果您使用以下网址访问该网页:http://[domain]/Sword/Hit?target=watermelon,您会在网络浏览器中看到此字符串:Chopped watermelon in half

答案 2 :(得分:1)

在Web应用程序中,您的“控制台”是您的HTTP响应;因此,Web应用程序上的那段代码看起来像这样:

class Sword 
{
    public void Hit(string target)
    {
        Response.Write(string.Format("Chopped {0} clean in half", target));
    }
}

答案 3 :(得分:1)

在ASP.net中你会做这样的事情

Response.Write(string.format("Chopped {0} clean in half", target);