我已经阅读了许多类似的问题,但仍然无法弄清楚问题所在。我的 Ajax.BeginForm
在 Controller
中通过 PartialView
返回一条消息,但此字符串会替换整个页面。
View
:
@using (Ajax.BeginForm("NoMoreItem", "ProductListing",
new AjaxOptions
{
HttpMethod = "get",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = string.Concat("NoMoreItemSection1-", counter)
}, new { @id = string.Concat("NoMoreItemForm1-", counter) }))
{
<input type="hidden" value="@Model.Email" name="email" />
<input type="hidden" value="@i.code" name="code" />
<input type="submit" value="notify me" />
}
</div>
我的控制器:
public ActionResult NoMoreItem(string email, string productCode)
{
string message;
_waitinglist.Save(email, productCode);
message = "Item added to Waiting List";
return PartialView("ItemAdded", message);
}
ItemAdded
View:
@model string
<div>
@Model
</div>
我在
_Layout.cshtml
中引用了 jquery.unobtrusive-ajax.js
文件,所以它似乎不是问题的原因。有人知道为什么消息会替换整个页面吗?
NoMoreItemSection1-counter
在哪里? - Jasen