【问题标题】:Error while i return from controller a view in mvc当我从控制器返回 mvc 中的视图时出错
【发布时间】:2019-05-12 12:26:05
【问题描述】:

我的控制器中有一个方法,它将一个布尔变量作为可选参数(这应该是可选的,不是强制性的),尽管当我返回视图时它说视图需要一个参数。

我的模型视图将 bool 设置为 true 或 false,以便在发生特定操作时在视图中显示错误消息。

这是我的代码

    public ActionResult Index([Optional] bool cameFromModal)
    {cameFromModal = false;
         if (cameFromModal == true)
              {
            vm.Error = true; // I set the bool to the model so that I can                       display an error message on my returned view
              }


        return View(vm);
    }

【问题讨论】:

  • 我之前没有在 MVC 控制器方法上使用过 [Optional] 属性。当您更改方法签名以使参数可以为空时会发生什么? public ActionResult Index(bool? cameFromModal)
  • 发布实际错误。 it says that the view expects a parameter. 是什么意思?这既不是编译也不是运行时错误。 vm 是在哪里创建的?请求参数中的Optional 属性不会影响视图或控制器代码
  • 对于cameFromModal,您没有指定默认值,因此编译器无法知道要使用什么值。 Optional 是一个验证属性,它没有指定默认值是什么

标签: asp.net-mvc model-view-controller optional-parameters


【解决方案1】:

也许你可以试试这个;

public ActionResult Index(bool cameFromModal=false)
{             
if (cameFromModal == true)
{
vm.Error = true;
}
return View(vm);
}

当你触发 true 时它会出错

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-23
    • 1970-01-01
    • 2017-03-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多