Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 返回控制器中的参数,而不是视图中的参数_C#_Asp.net Mvc - Fatal编程技术网

C# 返回控制器中的参数,而不是视图中的参数

C# 返回控制器中的参数,而不是视图中的参数,c#,asp.net-mvc,C#,Asp.net Mvc,我有一个控制器,其中我有一个方法,但我只在另一个控制器中使用方法,所以我不需要返回 视图,但我不知道可以返回什么,而是返回一个返回视图() 代码: 总之,我没有视图,所以VS将其标记为红色 有人能给我解释一下它的基本原理吗?我可以返回什么来代替视图?问候 注意:应用程序100%正确运行,但我有这个家伙,Asp.Net MVC使用约定而不是配置。因此,约定是,当您从某个操作方法中获得类似于returnview()的语句时,框架将在~/Views/YourControllerName目录或~/Vie

我有一个控制器,其中我有一个方法,但我只在另一个控制器中使用方法,所以我不需要返回 视图,但我不知道可以返回什么,而是返回一个返回视图()

代码:

总之,我没有视图,所以VS将其标记为红色

有人能给我解释一下它的基本原理吗?我可以返回什么来代替视图?问候


注意:应用程序100%正确运行,但我有这个家伙,Asp.Net MVC使用约定而不是配置。因此,约定是,当您从某个操作方法中获得类似于
returnview()
的语句时,框架将在
~/Views/YourControllerName
目录或
~/Views/Shared
目录中查找与操作方法名称同名的视图。Visual studio向您发出警告,表示此项目中这些位置不存在此类视图

您的代码正在工作,因为
return View()
不会作为上面的行执行,该行重定向到您正在传递的url。只需删除
returnview()
语句即可

由于您的方法具有返回类型(
ActionResult
),因此需要返回一些内容。您可以使用
重定向
方法并返回结果

public ActionResult language()
{

    if (Session["UserLanguage"].ToString() == "english")
        Session["UserLanguage"] = "spanish";
    else
        Session["UserLanguage"] = "english";

    return Redirect("/" + Session["UserLanguage"] + "/index");
}
因为你在你的应用程序中重定向到一个动作方法,你可能会考虑<代码> RetrutttoAction 方法,它将去掉字符串连接来生成新的URL,并为你建立正确的URL。
public ActionResult language()
{

    if (Session["UserLanguage"].ToString() == "english")
        Session["UserLanguage"] = "spanish";
    else
        Session["UserLanguage"] = "english";

    return RedirectToAction("Index", Session["UserLanguage"] as string);

}
另外,在对会话项调用
ToString()
方法之前,请确保执行空检查

if (Session["UserLanguage"]!=null && Session["UserLanguage"].ToString() == "english")
{      
  //your code
}
else
{

}

我在视图中使用它,如
if (Session["UserLanguage"]!=null && Session["UserLanguage"].ToString() == "english")
{      
  //your code
}
else
{

}