MVC部分视图未在控制器上命中HTTP Post



我有一个局部视图,应该在控制器上运行HttpPost,但它不是。在我的主页上,我有以下部分视图

<div class="box">
@Html.Action("AddNote", "Member", new { MemberId = Model.Id })
</div>

部分视图如下-

@model GMS.Core.Models.AddMemberNoteModel
@using (Html.BeginForm("AddNote", "Member", FormMethod.Post))
{
@Html.HiddenFor(model => model.MemberId)
<div class="input-group">
@Html.EditorFor(model => model.Note, new { @class = "form-control", @placeholder = "Type note ..." })
@Html.ValidationMessageFor(model => model.Note)
<span class="input-group-btn">
<input type="submit" class="btn btn-primary btn-flat" value="Save" />
</span>
</div>
}

问题是当提交按钮被按下时,HttpPost方法没有被击中。当页面加载时,第一个动作结果被命中。

[Authorize]
public ActionResult AddNote(string memberId)
{
AddMemberNoteModel model = new AddMemberNoteModel();
model.MemberId = Convert.ToInt32(memberId);
return PartialView("AddNote", model);
}
[HttpPost]
public ActionResult AddNote(AddMemberNoteModel model)
{
model.DateCreated = DateTime.Now;
model.CreatedBy = ((CustomPrincipal)HttpContext.User).Id;
model.LastUpdated = DateTime.Now;
model.LastUpdateBy = ((CustomPrincipal)HttpContext.User).Id;
if (ModelState.IsValid)
{
_memberService.AddNote(model);
this.TempData["Notification"] = "A note has been added.";
return RedirectToAction("Details", "Member", new { id = model.MemberId });
}
else
{
return PartialView(model);
}
}

呈现的HTML

<form action="/Member/AddNote/7537" method="post"><input data-val="true" data-val-number="The field MemberId must be a number." data-val-required="The MemberId field is required." id="MemberId" name="MemberId" type="hidden" value="7537" /><div class="input-group">
<input class="text-box single-line" data-val="true" data-val-required="The Note field is required." id="Note" name="Note" type="text" value="" />
<span class="field-validation-valid" data-valmsg-for="Note" data-valmsg-replace="true"></span>
<span class="input-group-btn">
<input type="submit" class="btn btn-primary btn-flat" value="Save" />
</span>
</div>
</form>

我将Add Note表单嵌入到另一个表单中。

@(Html.BeginForm())
{
..........
@using (Html.BeginForm("AddNote", "Member", FormMethod.Post))
{
@Html.HiddenFor(model => model.MemberId)
<div class="input-group">
@Html.EditorFor(model => model.Note, new { @class = "form-control", @placeholder = "Type note ..." })
@Html.ValidationMessageFor(model => model.Note)
<span class="input-group-btn">
<input type="submit" class="btn btn-primary btn-flat" value="Save" />
</span>
</div>
}
}

最新更新