jquery - MVC 4 - 更新部分 View

标签 jquery asp.net-mvc asp.net-mvc-4 partial-views

我在一个页面上有 2 个部分。我们将该页面命名为index.cshtml。

第一部分是“搜索条件”,第二部分是“搜索结果”

现在,我已将搜索条件部分和搜索结果部分创建为部分 View ,并在 index.cshtml 底部添加了一个按钮,该按钮获取搜索结果并调用名为“Search”的 JavaScript 函数。

该函数执行搜索,也就是说,它接受搜索条件输入并将其作为参数打包到 jQuery.get ($.get) 方法调用中。

然后,此调用读取 SearchResultsController(SearchCriteria myCriteria) 的响应,并使用 $.html() 替换搜索结果部分 View 中的搜索结果。

问题是,这是最好的方法吗?或者在 MVC 脚手架中有一种方法可以让我无需手动滚动自己的 javascript 或 jquery 或任何其他客户端代码即可完成此操作。

我想做的是 - 单击页面 A 上的按钮,从部分 View B 获取输入,然后将该输入传递给存储过程,并使用该过程的结果更新 View C 的内容,无需刷新整页。就这么简单。

还有哪些需要最少手动代码的方法可以实现部分 View 更新?有代码链接吗?

最佳答案

首先,请不要将 jQuery 与 JavaScript 混淆。 jQuery 是一个基于 JavaScript 构建的框架,可以让某些事情(例如默认情况下更容易发送 AJAX 请求)实现跨浏览器。所以,是的,您可以在没有 jQuery 的情况下进行异步更新,但如果没有 JavaScript 则不行。

也就是说,对于使用部分 View 的新开发人员来说,这似乎是一个常见的误解。部分 View 只是服务器端的一种便利,旨在允许您在多个 View 之间共享类似的 View 代码。一旦您的页面呈现给客户端,您使用部分 View 的事实就不再重要了。如果您想在不启动页面刷新的情况下更新页面上的某些内容,则必须提交 AJAX 请求来获取一些新数据(JSON、XML 等)或 HTML 来显示,然后也使用 JavaScript 使用该响应呈现与页面不同的内容。再说一次,这一切都与部分 View 无关。

关于jquery - MVC 4 - 更新部分 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18339828/

相关文章:

c# - db.savechanges() 中的默认超时值?

c# - ASP.NET MVC 4 : How to update model from view on submit form

javascript - 如何用数字链接替换数字

Javascript 在页面加载后运行

asp.net-mvc - 组合 ASP.NET MVC Web 应用程序的最佳实践(MEF、Areas、DI)

javascript - asp.net-mvc ajax json post 到 Controller 操作方法

c# - 如何在 ASP.NET MVC 中发布 List<T> 并使模型正常工作?

javascript - IE 显示两个 div 而不是一个

jQuery 序列化数组输入

javascript - 追加和转义