使用master控制asp页面的div并动态地改变div

时间:2014-10-03 14:59:03

标签: c# html asp.net

我创建了一个带有母版页的asp页面,它有一个可变的div元素。这是当用户点击导航面板的一个链接(在主页面中)时,使用jQuery更改div元素。

我在单独的html文件中写的div内容。所以简而言之,当用户点击导航面板时,我在div中加载一个html文件,这样整个页面就不会刷新,只会刷新div部分。

一个这样的div将数据存储在数据库中。插入工作正常。现在插入完成后,我想显示一条消息,成功插入记录(从codebeind执行此操作)。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

我不确定您尝试过的代码,或者您尝试做的代码。您可以通过以下几种方式将数据推送到客户端:

Page.ClientScript.RegisterStartupScript(
      this.GetType(), @"NameOfFunction", @"alert('Message');");

这实际上会从后面的代码调用Javascript,显然这种方法有一些缺点。排除故障并不总是很明确,因为消息来源并不明显。

其次,将是所有强大的$.ajax。通过这种方法,您实际上可以抽象一点,这很好。例如,您将得到一个值:

// Build our object with a Clean Constructor:
function BuildOrder(Product, Quantity, Price) {
     var item = null;
     if(Product & Quantity & Price) {
          Product: Product,
          Quantity: Quantity,
          Price: Price
          };
}

这是我们的构建者,然后我们构建我们的object

var order = new Array();
order.push(BuildOrder(product, quantity, price));
convertedOrder = JSON.stringify(order);

然后你有一个JSON值,它基本上是一个从客户端传递到服务器的巨型string。然后,您构建Ajax

        $.ajax({
            url: '<%= Page.ResolveUrl("~/Services/Credit.aspx") %>',
            data: { Order: convertedOrder },
            type: 'POST',

            success: function (order) {
                var result = JSON.parse(order);
                $("#<%= txtTax.ClientID %>").val('$' + result[0].Tax).change();
                $("#lblTotal").text('$' + result[0].Total);
            },

            failure: function () {
                alert('There was an error in retrieving the total and tax, please continue inputting for it to automatically refresh.');
            }
        });
    }

然后在服务器上,您只需使用JavaScriptSerializer反序列化并在迭代后反序列化。将返回successfailure,以便它可以执行某些操作。