Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 替换整个页面_C#_Ajax_Asp.net Mvc_Razor - Fatal编程技术网

C# 替换整个页面

C# 替换整个页面,c#,ajax,asp.net-mvc,razor,C#,Ajax,Asp.net Mvc,Razor,我在网上读过很多类似的问题,但仍然无法解决问题。MyAjax.BeginForm通过Controller中的PartialView返回一条消息,但字符串将替换整个页面 查看: @using (Ajax.BeginForm("NoMoreItem", "ProductListing", new AjaxOptions { HttpMethod = "get", InsertionMode = InsertionMode.Replace, UpdateTargetId = string.Co

我在网上读过很多类似的问题,但仍然无法解决问题。My
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>
public ActionResult NoMoreItem(string email, string productCode)
{
    string message;
    _waitinglist.Save(email, productCode);
    message = "Item added to Waiting List";
    return PartialView("ItemAdded", message);
}
@model string
<div>
    @Model
</div>
itemsadded
查看:

   @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);
}
@model string
<div>
    @Model
</div>
@模型字符串
@模型
我在
\u 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>


我也认为你是想发帖而不是得到

仔细检查页面中是否正确加载了jquery.unobtrusive-ajax.js,并在输入标记中检查产品代码的名称(应等于action参数)


让我知道这是否解决了您的问题。

对于那些在谷歌上走来走去却找不到解决方案的人


确保web.configappsettings
bundles.Add(新脚本包(“~/bundles/js”)。包括(“~/Scripts/jquery.unobtrusive ajax.js”)不,它不工作。奇怪的是,当我在页面完全加载之前点击按钮时,它就工作了。但在页面完全加载后停止工作。太奇怪了。这些脚本已经过时了,但你仍然必须包含它们。不,它不起作用。奇怪的是,当我在页面完全加载之前点击按钮时,它就工作了。但在页面完全加载后停止工作。太奇怪了。当这种情况发生时,大多数时候都是因为脚本加载不当。单击按钮之前,查看呈现的HTML是什么样子?@Jasen一个带有项目名称和按钮的表。我在布局中包括了js文件,但我没有在ItemAdded视图中使用布局。也许这就是原因?如果是这样,我应该在部分视图还是父视图中引用js文件?ItemAdded是一个部分视图,应该使用布局加载到另一个视图中——这很好。检查调试控制台上是否没有错误。检查呈现的html,确认您有jquery.js,然后检查jquery.unobtrusive-ajax.js。确保您的ID在页面上是唯一的。主视图上的目标id
NoMoreItemSection1计数器在哪里?