繁体   English   中英

如何在MVC动作C#中获得可选参数

[英]How to get optional parameters in mvc action C#

在HomeController中有一个TestAction,如下所示:

    public ActionResult TestAction(string a = "a", int b = 2, int c = 1)
    {
        var DATA = Request.Params;//Can't get param neither a nor b
        return View();
    }

如果我的访问链接是“ / Home / TestAction?c = 23”。 然后,DATA将为{c = 23},但不包含a和b。 是否有任何方法可以通过访问链接“ / Home / TestAction?c = 23”来获取这两个参数以制作像{a =“ a”,b = 2,c = 23}这样的数据。 (这些参数在不同的页面中是不同的,因此不能硬编码)。

您可以通过按如下所示在url中传递参数来实现。 模型绑定程序将读取查询字符串,并将这些参数值传递给action方法。

/Home/TestAction?a=valuea&b=valueb

您也可以使用路线数据来传递值。 为此,需要定义一条适当的路线。

将所有参数作为可为null的int ?,字符串默认情况下接受null。 因此,更改后,您的方法将如下所示

public ActionResult TestAction(string a, int? b, int? c)
{
   //Check conditions for null here
    return View();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM