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中,这似乎是最好的选择。但是,我应该避免像大家说的那样做。。。可能吧。嗯,这似乎是最好的选择。但是,我应该避免像大家说的那样做。。。可能