作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何在 ASP.NET Model-View-Contoller (MVC) 中制作更新面板框架?
最佳答案
您可以在 ASP.NET MVC 中使用分部 View 来获得类似的行为。部分 View 仍然可以在服务器上构建 HTML,您只需将 HTML 插入到正确的位置(事实上,如果您愿意包含 MSFT Ajax 库,MVC Ajax 帮助程序可以为您进行设置)。
在主视图中,您可以使用 Ajax.Begin 表单来设置异步请求。
<% using (Ajax.BeginForm("Index", "Movie",
new AjaxOptions {
OnFailure="searchFailed",
HttpMethod="GET",
UpdateTargetId="movieTable",
}))
{ %>
<input id="searchBox" type="text" name="query" />
<input type="submit" value="Search" />
<% } %>
<div id="movieTable">
<% Html.RenderPartial("_MovieTable", Model); %>
</div>
分部 View 封装了您想要更新的页面部分。
<%@ Control Language="C#" Inherits="ViewUserControl<IEnumerable<Movie>>" %>
<table>
<tr>
<th>
Title
</th>
<th>
ReleaseDate
</th>
</tr>
<% foreach (var item in Model)
{ %>
<tr>
<td>
<%= Html.Encode(item.Title) %>
</td>
<td>
<%= Html.Encode(item.ReleaseDate.Year) %>
</td>
</tr>
<% } %>
</table>
然后设置 Controller 操作来处理这两种情况。部分 View 结果非常适合异步请求。
public ActionResult Index(string query)
{
var movies = ...
if (Request.IsAjaxRequest())
{
return PartialView("_MovieTable", movies);
}
return View("Index", movies);
}
关于asp.net-mvc - 如何在 ASP.NET MVC 中制作更新面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/961612/
我是一名优秀的程序员,十分优秀!