更新页面而不刷新它

时间:2014-06-18 09:24:08

标签: c# javascript asp.net-mvc

目标:
当您单击行(1)时,将显示新数据(3.),而不会更新/刷新整个网页。

问题:
1.
我需要建议而且我不知道在哪里可以找到显示图片编号2的功能以及如何在不更新/刷新整个网页的情况下显示数据和新对象(3.)?

并且

2
如何创建一个图标来显示加载图片?

信息:
- 该页面基于ASP.mvc和C#

enter image description here

3 个答案:

答案 0 :(得分:1)

使用jquery或MVC ajax助手的ajax功能。

你可以找到jquery ajax here

和MVC ajax helper lib here

here

你可以对服务器的websevice进行ajax调用,它可以返回一种众所周知的web格式(例如json或XML)。当webservice调用返回时,你可以然后注入"您的html页面中的数据使用javascript(dom操作)或使用MVC帮助程序。

这是一个可以提供帮助的人 http://www.asp.net/mvc/tutorials/older-versions/javascript/creating-a-mvc-3-application-with-razor-and-unobtrusive-javascript

答案 1 :(得分:0)

使用ajax + PartialViews更新某些页面部分

答案 2 :(得分:0)

您可以使用jquery ajax来调用异步操作方法(函数)。数据以Json的形式返回。您可以编写代码来对数据进行deserilize并使用jquery显示它。 创建一个Action方法,将JsonResult作为viewresult返回为

public JsonResult GetJsonData()
{
 return Json(new
                    { testDataResult =TestDataResultObj.Data
                       JsonRequestBehavior
                    }, JsonRequestBehavior.AllowGet);
}

并编写以下jquery代码: -     if(GetDataAsyc()){

                        $.ajax({
                            type: "GET",
                            data: { testData: testDataResult },
                            url: url,// url of action method to be called asynch
                            dataType: "json",
                            cache: false,
                            traditional: true,
                            contentType: "application/json",
                            success: function (data) {

                                   // on success assign  testDataResult to messages //line
                                    $("#MessagesLines").html(testDataResult .Html);

                                }
                            },
                            error: function () {
                                //Display error message
                                $("ErrorMsg").html("There was error whey trying to process your request") 
                            }
                        });
                    }