为什么 Ajax.BeginForm 不传递表单值?

2023-12-22

我试图通过调用 Ajax.BeginForm 显示部分视图,但我无法接收表单的值(我需要获取控制器中隐藏输入 bookId 的值,例如 5)。

// View

@using (Ajax.BeginForm("Detail", "Books", new AjaxOptions { HttpMethod = "GET",         UpdateTargetId = "ShowBookDiv" }))
{ 
    <input type="hidden" id="bookId" value="5" />
    <input type="submit" id="sBtn" value="Details"  />
}

// 控制器

[HttpGet]
public ActionResult Detail(string bookId)
{                               
    if (Request.IsAjaxRequest())    
    {
        var a = Request["bookId"].ToString();
        // some code to get details
        return PartialView("ShowBooks", details);
    }
    ...
}

当我跟踪控制器中的代码时,bookId 为空!


我已将“名称”属性添加到隐藏字段并且它有效!真奇怪!

 <input type="hidden" name="bookId" id="bookId" value="5" />
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 Ajax.BeginForm 不传递表单值? 的相关文章

随机推荐