博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
asp.net mvc working with ajax
阅读量:4330 次
发布时间:2019-06-06

本文共 7127 字,大约阅读时间需要 23 分钟。

提交内容后更新

action:

public ActionResult Index()        {            return View(_entities.GuestSet.ToList());        }        // POST: /GuestBook/Create        public ActionResult Create(Guest guestToCreate)        {            _entities.AddToGuestSet(guestToCreate);            _entities.SaveChanges();            return PartialView("Guests", _entities.GuestSet.ToList());        }

view:

        

Guest Book

<% using (Ajax.BeginForm("Create", new AjaxOptions {UpdateTargetId="divMessages" })) { %>
<%= Html.TextBox("Name")%>
<%= Html.TextArea("Message")%>
<% } %>
<% Html.RenderPartial("Guests"); %>
<% foreach (var item in Model) { %>    

<%= Html.Encode(item.Name) %>

<%= Html.Encode(item.Message) %>
<% } %>

异步提交

action:

public ActionResult Index()        {            return View(_entities.MovieSet.ToList());        }        // GET: /Movie/Create        public ActionResult Create()        {            return View();        }        // POST: /Movie/Create        [AcceptVerbs(HttpVerbs.Post)]        public string Create(Movie movieToCreate)        {            try            {                _entities.AddToMovieSet(movieToCreate);                _entities.SaveChanges();                return "Inserted new movie " + movieToCreate.Title;            }            catch            {                return "Could not insert movie " + movieToCreate.Title;            }        }

view:

create            <%= Html.ValidationSummary("Create was unsuccessful. Please correct the errors and try again.") %>    <% using (Ajax.BeginForm(new AjaxOptions {OnSuccess="createSuccess"}))       {
%>
Create Movie

<%= Html.TextBox("Title")%> <%= Html.ValidationMessage("Title", "*")%>

<%= Html.TextBox("Director")%> <%= Html.ValidationMessage("Director", "*")%>

<%= Html.TextBox("DateReleased")%> <%= Html.ValidationMessage("DateReleased", "*")%>

<% } %>
<%=Html.ActionLink("Back to List", "Index") %>

显示进度条

action:

[AcceptVerbs(HttpVerbs.Post)]        public string Create(Movie movieToCreate)        {            Thread.Sleep(5 * 1000);            try            {                _entities.AddToMovieSet(movieToCreate);                _entities.SaveChanges();                return "Inserted new movie " + movieToCreate.Title;            }            catch            {                return "Could not insert movie " + movieToCreate.Title;            }        }

view:

            
<%= Html.ValidationSummary("Create was unsuccessful. Please correct the errors and try again.") %> <% using (Ajax.BeginForm(new AjaxOptions {OnSuccess="createSuccess", LoadingElementId="divLoading"})) {
%>
Create Movie

<%= Html.TextBox("Title")%> <%= Html.ValidationMessage("Title", "*")%>

<%= Html.TextBox("Director")%> <%= Html.ValidationMessage("Director", "*")%>

<%= Html.TextBox("DateReleased")%> <%= Html.ValidationMessage("DateReleased", "*")%>

<% } %>
<%=Html.ActionLink("Back to List", "Index") %>

异步检索内容

action:

public ActionResult Index()        {            return View(_entities.CategorySet.ToList());        }        public ActionResult Details(int id)        {            var products = from p in _entities.ProductSet                           where p.CategoryId == id                           select p;            return PartialView("Details", products);        }

view:

    <% foreach (var category in Model) { %>
  • <%= Ajax.ActionLink(category.Name, "Details", new {id=category.Id}, new AjaxOptions {UpdateTargetId="divDetails"}) %>
  • <% } %>

异步删除

action:

[AcceptVerbs(HttpVerbs.Delete)]//ajax        public ActionResult Delete(int id)        {            var movieToDelete = (from m in _entities.MovieSet                                 where m.Id == id                                 select m).FirstOrDefault();            _entities.DeleteObject(movieToDelete);            _entities.SaveChanges();            return PartialView("Movies", _entities.MovieSet.ToList());        }        [ActionName("Delete")]        public ActionResult Delete_GET(int id)        {            var movieToDelete = (from m in _entities.MovieSet                                 where m.Id == id                                 select m).FirstOrDefault();            return View(movieToDelete);        }        [AcceptVerbs(HttpVerbs.Post)]        [ActionName("Delete")]        public ActionResult Delete_POST(int id)        {            var movieToDelete = (from m in _entities.MovieSet                                 where m.Id == id                                 select m).FirstOrDefault();            _entities.DeleteObject(movieToDelete);            _entities.SaveChanges();            return RedirectToAction("Index");        }

view:

    <% foreach (var movie in Model) { %>
  • <%= movie.Title %> <%= Ajax.ActionLink("Delete", "Delete", new {id=movie.Id}, new AjaxOptions {HttpMethod="DELETE", Confirm="Delete record?", UpdateTargetId="divMovies" })%>
  • <% } %>

Using the AcceptAjax Attribute

attribute:

public sealed class AcceptAjaxAttribute : ActionMethodSelectorAttribute{public override bool IsValidForRequest(ControllerContext➥controllerContext, MethodInfo methodInfo){if (controllerContext == null){throw new ArgumentNullException(“controllerContext”);}return controllerContext.HttpContext.Request.IsAjaxRequest();}}

controller:

public class SelectorController : Controller{private ProductsDBEntities _entities = new ProductsDBEntities();public ActionResult Index(){var categories = _entities.CategorySet.ToList();var products = new List
();return View(new ProductsVDM(categories, products));}[AcceptAjax][ActionName(“Details”)]public ActionResult Details_Uplevel(int id){var products = from p in _entities.ProductSetwhere p.CategoryId == idselect p;return PartialView(“Details”, products);}[ActionName(“Details”)]public ActionResult Details_Downlevel(int id){var categories = _entities.CategorySet.ToList();var products = from p in _entities.ProductSetwhere p.CategoryId == idselect p;return View(“Index”, new ProductsVDM(categories, products));}}

 

转载于:https://www.cnblogs.com/yezhi/archive/2013/01/17/2865617.html

你可能感兴趣的文章
OO第一次总结博客
查看>>
day7
查看>>
iphone移动端踩坑
查看>>
vs无法加载项目
查看>>
Beanutils基本用法
查看>>
玉伯的一道课后题题解(关于 IEEE 754 双精度浮点型精度损失)
查看>>
《BI那点儿事》数据流转换——百分比抽样、行抽样
查看>>
哈希(1) hash的基本知识回顾
查看>>
Leetcode 6——ZigZag Conversion
查看>>
dockerfile_nginx+PHP+mongo数据库_完美搭建
查看>>
Http协议的学习
查看>>
【转】轻松记住大端小端的含义(附对大端和小端的解释)
查看>>
设计模式那点事读书笔记(3)----建造者模式
查看>>
ActiveMQ学习笔记(1)----初识ActiveMQ
查看>>
Java与算法之(2) - 快速排序
查看>>
Windows之IOCP
查看>>
机器学习降维之主成分分析
查看>>
CTP2交易所成交回报
查看>>
WebSocket & websockets
查看>>
openssl 升级
查看>>