【问题标题】:Request.Form.GetValues does not work in ASP.NET CoreRequest.Form.GetValues 在 ASP.NET Core 中不起作用
【发布时间】:2021-10-12 14:38:24
【问题描述】:

我这里有这段代码:

if (Request.Form.GetValues("multipleTags") is not null)
     selectedTags = Request.Form.GetValues("multipleTags").ToList();

如何在 .NET 5 中实现这一点?

我得到的错误是没有可用的GetValues 方法。

【问题讨论】:

  • 无论如何你最好还是使用Request.Form.TryGetValue,这样更安全、更易读。
  • 或者更好的是,使用模型并让绑定完成工作。
  • 先生,情况如何?如果存在,请随时分享您的进一步问题。如果您认为我的帖子对您​​结束此案有帮助,您能否接受我的帖子作为答案?提前感谢您的回复:)

标签: c# asp.net-core asp.net-core-mvc


【解决方案1】:

在使用 mvc 时,我同意 @mxmissile 在视图中绑定模型并在控制器中按模型接收数据。这个official document的一些细节。

除了你的问题,我在我的视图中设置了一个表单,如下所示:

@{
}

<form id="myForm" action="hello/getForm" method="post">
    Firstname: <input type="text" name="firstname" size="20"><br />
    Lastname: <input type="text" name="lastname" size="20"><br />
    <br />
    <input type="button" onclick="formSubmit()" value="Submit">
</form>

<script type="text/javascript">
    function formSubmit() {
        document.getElementById("myForm").submit()
    }
</script>

这是我的控制器方法,当使用 get 方法时,我们从 querystring(Request.Query) 中收集数据,而使用 post 方法我们在请求正文中获取数据(Request.Form):

using Microsoft.AspNetCore.Mvc;

namespace WebMvcApp.Controllers
{
    public class HelloController : Controller
    {
        public IActionResult Index()
        {
            return View();
        }

        public string getForm() {
            var a = HttpContext.Request.Query["firstname"].ToString();
            var b = HttpContext.Request.Query["lastname"].ToString();
            var c = HttpContext.Request.Query["xxx"].ToString();
            var d = HttpContext.Request.Form["firstname"].ToString();
            var e = HttpContext.Request.Form["lastname"].ToString();
            var f = HttpContext.Request.Form["xxx"].ToString();
            return "a is:" + a + "  b is:" + b + "  c is:" + c +" d is:"+d+" e is"+e+" f is:"+f;
        }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-20
    • 2019-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-21
    • 1970-01-01
    • 2021-06-13
    相关资源
    最近更新 更多