ajax.beginform() 不更新部分视图 MVC
ajax.beginform() not updating partial view mvc
我正在尝试在 asp.net 中做类似updatepanel的事情。 页面 A 显示内容和一个div,该div 部分呈现另一个视图(页面 B),其中包含 2 个按钮。 根据哪个按钮,部分视图(页面 B)将重新更新其内容。第一次加载页面时,部分视图显示正确。当按钮在页面 B 中单击时,仅显示 B 的视图,页面 A 丢失。
Page A:
@{
DemoMVC.Models.FlashADrugModel displayDrug = null;
int drugIndex = 0;
Session["drugIndex"] = drugIndex;
if (Session["userDrugArray"] != null)
{
DemoMVC.Classes.Drug[] myDrugArray = (DemoMVC.Classes.Drug[])Session["userDrugArray"];
if(myDrugArray.Length>0)
{
displayDrug = new FlashADrugModel { displayDrug = myDrugArray[drugIndex], nullAble = false };
}
}
}
@using (Ajax.BeginForm("FlashACard", "FlashCard", null, new AjaxOptions() { UpdateTargetId = "updateRegion", InsertionMode = InsertionMode.Replace, HttpMethod = "GET" }))
{
@Html.AntiForgeryToken()
<div id="updateRegion">
@Html.Partial("_FlashACard", @displayDrug)
</div>
<input type="submit" value="Previous" name="ButtonType"><input type="submit" value="Next" name="ButtonType">
}
....
Page B:
<dl class="dl-horizontal">
<dd>
@Html.DisplayFor(model => model.displayDrug.DrugBrand)
</dd>
</dl>
.....
Controller:
public ActionResult Index()
{
//List<Drug> myDrugList = this.cardRepository.GetAllDrugs();
List<Drug> myDrugList = new DrugCardsRepository().GetAllDrugs();
Session["userDrugArray"] = myDrugList.ToArray();
return View();
}
public PartialViewResult FlashACard(FlashADrugModel drugModel, string ButtonType)
{
if(!drugModel.nullAble.HasValue)
{
if (Session["userDrugArray"] != null)
{
Drug[] myDrugArray = (Drug[])Session["userDrugArray"];
//Default drug index 0
int drugIndex = 0;
if (Session["drugIndex"] != null)
{
drugIndex = (int)Session["drugIndex"];
}
if (ButtonType == "Next")
{
if(drugIndex < myDrugArray.Length -2)
{
drugIndex++;
}
}
if (ButtonType == "Previous")
{
if (drugIndex > 0)
{
drugIndex--;
}
}
Session["drugIndex"] = drugIndex;
drugModel = new FlashADrugModel { displayDrug = myDrugArray[drugIndex], nullAble = false };
}
}
return PartialView("_FlashACard",drugModel);
}
我发现在ajax调用之前添加这些行是有效的。
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryval")
@Scripts.Render("~/Scripts/jquery.unobtrusive-ajax.min.js")
相关文章:
- 无法在mvc视图中使用ajax调用获取操作返回的模型对象列表
- 我应该将MVC视图特定的javascript文件放在哪个文件夹中
- asp.net MVC,重定向到视图,视图打开新窗口到外部url,它'It’’’’我们被当成一种风景
- 使用javascript在MVC视图中解析.net JSON字符串
- 当我点击MVC视图中的图像时,如何打开另一个页面
- 阻止MVC视图中的C#代码在加载时执行
- MVC:使用Web窗体视图引擎在javascript中迭代Viewbag数组
- ajax.beginform() 不更新部分视图 MVC
- 在创建视图mvc.net的过程中使用javascript
- Razor视图MVC 5 JavaScript-解析document.getElementById
- 文本框开关,带有基于部分视图MVC 4的模式对话框上的单选按钮
- 从视图MVC通过javascript发布多个参数
- 在局部视图(MVC)中查找类并将变量传递给函数
- 在c#视图MVC 2中添加jquery
- 数组不是从视图MVC传递给控制器的
- 如何在Razor视图MVC中将javascript变量转换为c#字符串
- 部分视图MVC 2事件函数未定义
- 在javascript加载的部分视图MVC中发生错误时,重定向到错误页面
- 使用本地存储设置视图 MVC 中的值
- 在部分视图MVC中使用jquery/js