gpt4 book ai didi

c# - 如何在 ASP.NET MVC 4 Razor 中获取/处理 POST 数据?

转载 作者:行者123 更新时间:2023-11-30 12:30:04 25 4
gpt4 key购买 nike

我在获取/处理来自 <form>POST 数据时遇到问题在 ASP.NET MVC 4 Razor 项目中。

我做了什么?

不要争论我的代码,我只是在测试 ASP.NET MVC 4 功能。

正如您在 Controller 代码中看到的,我还为用户信息做了一个模型:

public class AuthForm
{
public string Login { get; set; }
public string Password { get; set; }
}

我以为,如果模型正确,ASP.NET 会自动将数据解析到模型中,但我错了。

然后我尝试使用 .Request["name"] ,但是(输入不为空):

enter image description here

我也试过使用这样的属性:

  • [HttpPost]
  • [AcceptVerbs(HttpVerbs.Post)]

但也没有成功!

我做错了什么?请帮我解决我的问题。

谢谢

最佳答案

您需要使用辅助方法,以便 MVC 知道如何绑定(bind)值,然后在 Controller 中您将能够使用模型(因为模型绑定(bind)器会为您解决)

例如

@model Models.AuthForm
@{
ViewBag.Title = "СЭЛФ";
}
@section home {

@using (Html.BeginForm("Auth", "Controller")) {
<div class="control-group">
@Html.LabelFor(model => model.Login, new { @class = "control-label" })
<div class="controls">
@Html.TextBoxFor(model => model.Login, new { @class = "input-large", autocapitalize = "off" })
@Html.ValidationMessageFor(model => model.Login, "*", new { @class = "help-inline" })
</div>
</div>

<div class="control-group">
@Html.LabelFor(model => model.Password, new { @class = "control-label" })
<div class="controls">
@Html.PasswordFor(model => model.Password, new { @class= "input-large" })
@Html.ValidationMessageFor(model => model.Password, "*", new { @class = "help-inline" })
</div>
</div>
<div class="form-actions">
<input type="submit" class="btn btn-primary" value="Log On" />
</div>
}
}

使用 native HTML 控件是一种选择,但您需要按照与上述辅助方法相同的方式进行操作,否则将不会填充模型。

关于c# - 如何在 ASP.NET MVC 4 Razor 中获取/处理 POST 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17268496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com