MVC, PartialView有类似回发数据的东西



我是新的MVC,我正试图使我的第一个Ajax页面,PartialView。

我有一个像这样的动作

[HttpGet]
public PartialViewResult MainContent()
{
    return PartialView(new ClockingModel());
}
[HttpPost]      
public PartialViewResult MainContent(SingleClocking SingleClocking)
{
   // update logic
   return PartialView(myClockingModel);
}

我发现的是,视图呈现,我输入一些数据,它发回正确。我的局部视图包括一个select:

@Html.DropDownListFor(x => x.SingleClocking.InWhen, new SelectList(Model.DropDownValues, Model.DefaultValue))

select显示的是我在GUI上更改的值,而不是新的DefaultValue?

如果这是普通的Asp。Net我认为这是因为回发数据或视图状态,但MVC不使用这些?

我可以看到通过fiddler返回的视图,它显示了根据客户端选择的值,而不是我期望通过服务器看到的值。

我肯定我错过了一些简单的东西,有提示吗?

还有,我可以看看服务器上View的值吗?这不会工作,但像这样:string viewText = PartialView(myClockingModel);

注。我不认为这是缓存,我试过用属性

关闭它

尽管我在问这个问题之前搜索了一段时间,我终于找到了答案。知道Rick Strahl也有同样的困惑,我感觉好多了。

贴出答案供他人查找

长话短说,这就是设计,这个博客值得一读

http://weblog.west-wind.com/posts/2012/Apr/20/ASPNET-MVC-Postbacks-and-HtmlHelper-Controls-ignoring-Model-Changes

最新更新