【问题标题】:Use a custom name for a request parameter为请求参数使用自定义名称
【发布时间】:2018-03-27 07:37:00
【问题描述】:

换工作后,我正在学习 C# 和实体框架;以前我使用过 Java + Spring。

问题是:有没有一种等效的方法可以将这段 Java 代码写成 C# 代码?

public ModelAndView showUser(@RequestParam("k") String userName)

使用 Spring 和注解 RequestParam,我可以将名为 k 的请求参数转换为更友好和可读的名为 userName 的参数;所以现在,我期待这样的 C# 代码:

public ActionResult showUser([RequestParam("k")] string userName)

这在某种程度上可能吗?

【问题讨论】:

    标签: c# model-view-controller


    【解决方案1】:

    我不确定您是否可以像在 Java+spring 中那样做,但在 C# MVC 中,您可以使用 Modal 来往来传输数据。 在那里,您不必单独获取每个请求值,只需在参数括号中提及您的模态名称。

    回答您的问题,如果尝试从参数中分配值,它将抛出

    name 的默认参数必须是编译时常量

    public ActionResult Contact(string name = Request.Form["param1"])
    {
        return View();
    }
    

    上面的代码抛出一个错误。 所以要使用那个使用过的

     public ActionResult Contact()
     {
        string name = Request.Form["param1"];
        return View();
     }
    

    这会奏效。 我建议您使用模态和数据注释概念来传递数据。

    【讨论】:

      【解决方案2】:

      你可以使用它:

      [HttpGet()]
      public IActionResult showUser([FromQuery(Name = "k")] string userName)
      {...}
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-05-20
        • 1970-01-01
        • 2012-11-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-28
        • 1970-01-01
        相关资源
        最近更新 更多