c# - Ajax.BeginForm 替换整个页面

标签 c# ajax asp.net-mvc razor

我在网上看了很多类似的问题,但仍然无法弄清楚问题所在。我的 Ajax.BeginForm 通过 Controller 中的 PartialView 返回一条消息,但字符串替换了整个页面。

查看:

   @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>

我的 Controller :

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 文件,所以这似乎不是原因。

有谁知道为什么消息会替换整个页面?

最佳答案

确保引用 MS 文件

 <script src="../../Scripts/MicrosoftAjax.js" type="text/javascript"></script>
    <script src="../../Scripts/MicrosoftMvcAjax.js" type="text/javascript"></script>

我还认为您是想发帖而不是收到。

关于c# - Ajax.BeginForm 替换整个页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29974346/

相关文章:

c# - 使用 PlayerPrefs 的 Unity Highscore 无法正常工作

c# - 如何禁用文本框上的选择

javascript - 如何使用 Javascript 和 AJAX 上传到 Wasabi 存储

c# - 键值未知时反序列化 JSON

c# - 打开在 C# 中创建的 OpenXML Word 文档时未应用图像大小

javascript - jQuery - Ajax post 请求加载同一页面并将表单数据添加到 URL

javascript - 生成列表中的 $_GET 在显示页面上未定义

c# - 如何从另一个 Controller 重定向到索引?

c# - Entity Framework 迁移 - Alter Table 语句与外键约束冲突

css - 为什么我的页眉被导航栏覆盖? Bootstrap