我一直在努力过滤日志条目列表,而且我已经接近完成了。
我想知道是否可以通过$.ajax()
.
我目前有$.ajax()
工作,但是它返回整个页面的 HTML,而不是部分视图或模型本身。
有人知道一种简单地更新当前视图上的模型的方法吗?
我一直在努力过滤日志条目列表,而且我已经接近完成了。
我想知道是否可以通过$.ajax()
.
我目前有$.ajax()
工作,但是它返回整个页面的 HTML,而不是部分视图或模型本身。
有人知道一种简单地更新当前视图上的模型的方法吗?
这个概念真的没有意义。一旦页面被渲染,模型就不再存在,直到它在下面的 POST 上重新实例化(假设它被重新实例化,即您的控制器操作接受相同类型的参数)。同时,它只是表现为具有与模型name
属性相对应的属性的表单字段。
但是,您可以动态创建表单字段,这些字段将(如果可能)在表单发布时再次映射回模型属性。
创建一个字段,其name
属性与模型属性的名称匹配:
<input type="hidden" id="hdnMyProperty" name="MyProperty" />
然后使用 jQuery 填充字段的值:
var property = /* Your returned value here */;
$('#hdnMyProperty').val(property);
有几种常见的方法可以实现这一点:
JsonResult
并在您的 Javascript 中动态创建表单字段(可能 - 如前所述 - 使用类似 Knockout 的东西)。PartialViewResult
并在适当的位置动态插入返回的标记。当您发出下一个 post 请求时,模型绑定器将尝试将其映射到新实例化模型中的适当属性。
您必须以 json 格式返回模型并使用 js 模板功能来替换 dom 中服务器呈现的 html。– WestDiscGolf
以上是解决方案,所以我会保持简单并使用更常规的方法。
您可以简单地使用Knockout。在这种情况下,无需重新发明轮子。