当我从 razor 页面向控制器发送值时,我得到 null

When I send a value to my controller from my razor page, I get null

提问人:krautcez 提问时间:9/24/2023 最后编辑:krautcez 更新时间:9/24/2023 访问量:31

问:

我想用 发送到我的控制器,但它返回为 null。当我使用 F12 检查页面上的代码时,我可以看到该值是正确的。但它对我的控制器来说是空的。我的所有其他数据都正确地到达了我的控制器,但这个数据为 null。当然我也试过这个:@Html.Hidden

 @Html.HiddenFor(m => m.Repairs.kullaniciLog, new { value = usersDetails.username })

剃刀:

@{
    var usersDetails = Session["UsersDetails"] as GAP_Bakim.Models.UsersDetails;
}

@using (Ajax.BeginForm("Repairs", "Repair", new AjaxOptions { HttpMethod = "POST", OnSuccess = "repairSuccess" }))
 {  
    ................
    @Html.Hidden("kullaniciLog", usersDetails.username)

控制器:

 public ActionResult Repairs(Repairs repairs)
        

型:

 public class Repairs
{
  ......
  public string kullaniciLog { get; set; }
asp.net 模型-视图-控制器 剃须刀

评论

0赞 Dai 9/24/2023
ASP.NET Razor 不支持更改页面中的“表单上下文”(这是 IMO 的一个巨大缺点),因此呈现的是 但你想要的是 .有解决方法,但它们很丑陋 - 快速修复是具有硬编码属性。<input type="hidden" name="Repairs.kullaniciLog" value="..." /><input type="hidden" name="kullaniciLog" value="..." />name=""
0赞 krautcez 9/24/2023
我不得不尝试这种方式,因为我找不到解决方案。

答: 暂无答案