C# PartialView显示未更新的模型
我对使用ASP.NET MVC3(Razor)和Ajax的PartialView有问题。 这就是我的情况:C# PartialView显示未更新的模型,c#,asp.net-mvc-4,asp.net-ajax,asp.net-mvc-partialview,C#,Asp.net Mvc 4,Asp.net Ajax,Asp.net Mvc Partialview,我对使用ASP.NET MVC3(Razor)和Ajax的PartialView有问题。 这就是我的情况: 我有一个简单的测试视图模型: public class MyModel { public string MyText { get; set; } public int MyNumber { get; set; } } 我的目标是有一个表格。根据发布的数据,我想显示不同的局部视图。 我已经创建了主窗体(索引视图): 我的问题是,当执行Cat或Dog操作时,模型中的MyTex
我有一个简单的测试视图模型:
public class MyModel
{
public string MyText { get; set; }
public int MyNumber { get; set; }
}
我的目标是有一个表格。根据发布的数据,我想显示不同的局部视图。
我已经创建了主窗体(索引视图):
我的问题是,当执行Cat或Dog操作时,模型中的MyText会发生更改,但当显示正确的局部视图时,我会看到旧的(未更新的)MyText。为什么?
欢迎根据表单中发布的数据显示特定局部视图的任何其他想法。我刷新局部视图的方式略有不同。我会在单击按钮时使用ajax调用,而不是发回并传递希望返回的部分视图
$('.btnSubmit').on('click', function(){
$.ajax({
url: "@(Url.Action("Action", "Controller"))",
type: "POST",
cache: false,
async: true,
data: { type: 'cat/dog' },
success: function(result){
$('.Content').html(result);
}
});
});
希望这对你有用 我使用它作为jQueryAjax的方式和你们一样,但问题是存在的。这是关于添加或删除的项目的更新,但不适用于仅在内容中更改的项目。我不知道为什么。这让我很困惑(你可以看到我的问题
<span>cat view</span>
@Html.TextBoxFor(m=> m.MyText)
@Html.TextBoxFor(m=> m.MyNumber)
<span>@DateTime.Now.Second</span>
<span>dog view</span>
@Html.TextBoxFor(m=> m.MyText)
@Html.TextBoxFor(m=> m.MyNumber)
<span>@DateTime.Now.Second</span>
[HttpGet]
public ActionResult Index()
{
MyModel model = new MyModel();
return View(model);
}
[HttpPost]
public PartialViewResult Index(MyModel model)
{
if (model.MyNumber == 1)
{
return Cat(model);
}
else
{
return Dog(model);
}
}
[HttpPost]
public PartialViewResult Cat(MyModel model)
{
model.MyText = model.MyText + " K";
return PartialView("Cat", model);
}
[HttpPost]
public PartialViewResult Dog(MyModel model)
{
model.MyText = model.MyText + " P";
return PartialView("Dog", model);
}
$('.btnSubmit').on('click', function(){
$.ajax({
url: "@(Url.Action("Action", "Controller"))",
type: "POST",
cache: false,
async: true,
data: { type: 'cat/dog' },
success: function(result){
$('.Content').html(result);
}
});
});