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

时间:2016-09-29 12:15:27

标签: 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");
            }
       }
       else
       {
           Console.WriteLine("error");
       }
   }
}

这是控制器:

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

    return View();
}

好吧,我知道console.writelineresponse.write。 所以,我的问题是:我怎么能把那些console.writeline变成像

这样的东西
string s = "Equals 2";

而不是明显无效的console.writelines,然后在视图中以equals 1equals 2显示,以某种方式调用它。

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

2 个答案:

答案 0 :(得分:1)

而不是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;
}

答案 1 :(得分:1)

在这种情况下,从模型中返回逗号分隔列表(虽然我不支持对这种模型进行编码。请注意这是为了练习)。

public class Profile
{
    public string PrintResult()
   {
       string strSample="";
                if(1 == 1)
                {
                     if(strSample=="")
                     {
                     strSample="equals 1";
                     }
                    else
                     {
                       strSample+=","+"equals1";
                     }



                    if(2 == 2){
                       if(strSample=="")
                     {
                     strSample="equals 2";
                     }
                    else
                     {
                       strSample+=","+"equals2";
                     }

                    |
                }else
                {
                    if(strSample=="")
                     {
                     strSample="error";
                     }
                    else
                     {
                       strSample+=","+"error";
                     }

                }
   }
}

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

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

    return View((object)sample);
}

现在在Index视图中,将视图强制键入以下字符串

@model string 
<h1>@Model</h1>