C# 从在特定条件下创建的模型传递字符串

C# 从在特定条件下创建的模型传递字符串,c#,asp.net-mvc,razor,C#,Asp.net Mvc,Razor,我只是碰巧遇到了一些麻烦。 我有一个带函数的模型 public class Profile { public void PrintResult() { if(1 == 1) { Console.WriteLine("equals 1"); if(2 == 2) { Console.WriteLine("equals 2"); }

我只是碰巧遇到了一些麻烦。 我有一个带函数的模型

public class Profile
{
   public void PrintResult()
   {
       if(1 == 1)
       {
            Console.WriteLine("equals 1");
            if(2 == 2)
            {
                 Console.WriteLine("equals 2");
            }
       }
       else
       {
           Console.WriteLine("error");
       }
   }
}
这是控制器:

public ActionResult Index()
{
    Profile p = new Profile();
    p.PrintResult();

    return View();
}
嗯,我知道
console.writeline
response.write
。 所以,我的问题是:我怎样才能使那些console.writeline成为

string s = "Equals 2";
而不是
console.writelines
,它显然不起作用,然后以某种方式调用它
等于1
等于2
显示在视图中

谷歌搜索了很长时间,但找不到答案。
如果您需要更多信息来帮助我,请告诉我@

而不是console.writeline,您必须返回字符串的逗号分隔字符串列表

public List<string> PrintResult()
{
    var listItems = new List<string>();
    if (1 == 1)
    {
        listItems.Add("equal 1");
        if (2 == 2)
        {
            listItems.Add("equal 2");
        }
    }
    else
    {
        listItems.Add("error");
    }

    return listItems;
}
公共列表PrintResult()
{
var listItems=新列表();
如果(1==1)
{
列表项。添加(“等于1”);
如果(2==2)
{
列表项。添加(“等于2”);
}
}
其他的
{
添加(“错误”);
}
返回列表项;
}

而不是console.writeline,您必须返回字符串的逗号分隔字符串列表

public List<string> PrintResult()
{
    var listItems = new List<string>();
    if (1 == 1)
    {
        listItems.Add("equal 1");
        if (2 == 2)
        {
            listItems.Add("equal 2");
        }
    }
    else
    {
        listItems.Add("error");
    }

    return listItems;
}
公共列表PrintResult()
{
var listItems=新列表();
如果(1==1)
{
列表项。添加(“等于1”);
如果(2==2)
{
列表项。添加(“等于2”);
}
}
其他的
{
添加(“错误”);
}
返回列表项;
}

在本例中,从您的模型返回一个逗号分隔的列表(尽管我不支持对此类模型进行编码。我想这是为了您的练习)

现在,在控制器中,将从模型返回的字符串传递到视图,如下所示

public ActionResult Index()
{
    Profile p = new Profile();
    string sample=p.PrintResult();

    return View((object)sample);
}
现在,在
索引
视图中,将视图设置为强类型字符串,如下所示

@model string 
<h1>@Model</h1>
@模型字符串
@模型

在本例中,从您的模型返回一个逗号分隔的列表(尽管我不支持对此类模型进行编码。我想这是为了您的练习)

现在,在控制器中,将从模型返回的字符串传递到视图,如下所示

public ActionResult Index()
{
    Profile p = new Profile();
    string sample=p.PrintResult();

    return View((object)sample);
}
现在,在
索引
视图中,将视图设置为强类型字符串,如下所示

@model string 
<h1>@Model</h1>
@模型字符串
@模型

基本上,您的模型中不应该有这样的方法。您希望实现什么?对我来说好像不干净@Div以某种方式允许我从if()中选择字符串的位置,并使用viewbag或类似的东西将这些字符串放在视图中的某个位置。我应该在控制器中使用此功能吗?问题不是很清楚。。在PrintResult方法中再次检查条件。。您使用赋值运算符来检查值是否相等。是的,如果您想使用ViewBag,它应该在控制器中,但在您的模型中不应该有这样的方法。您希望实现什么?对我来说好像不干净@Div以某种方式允许我从if()中选择字符串的位置,并使用viewbag或类似的东西将这些字符串放在视图中的某个位置。我应该在控制器中使用此功能吗?问题不是很清楚。。在PrintResult方法中再次检查条件。。您使用赋值运算符检查值是否相等。是的,如果要使用ViewBag,它应该位于controllerWell中,这似乎是最好的选择。但是,我应该避免像大家说的那样做。。。可能吧。嗯,这似乎是最好的选择。但是,我应该避免像大家说的那样做。。。可能