ajax-Jquery Mobile Ajax ASP.NET控件 无刷新页面查询,添加,修改,删除

问题描述

Jquery Mobile Ajax ASP.NET控件 无刷新页面查询,添加,修改,删除

Jquery Mobile Ajax 技术用ASP.NET控件怎么实现无刷新页面查询,添加,修改,删除功能?
现在刷新一次才能执行JavaScript代码,否则没反应,有时候样式也没了。
我写的代码如下:

 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">

    <title></title>

    <meta name="viewport" content="width=device-width, initial-scale=1" /> 

    <link rel="stylesheet" href="css/jquery.mobile-1.4.5.css" />
    <link rel="stylesheet" href="css/jquery.mobile-1.4.5.min.css" />
    <script src="js/jquery.js"></script>
    <script src="js/jquery.mobile-1.4.5.min.js"></script>

</head>
<body>
    <form id="form1" runat="server">
        <div data-role="page" data-quicklinks="true">
            <div data-role="header"><h1>标题</h1></div>

            <div role="main">
            <ul data-role="listview">
                <li><a href="TestSql.aspx?key=1">AAA</a></li>
                <li><a href="TestSql.aspx?key=2">BBB</a></li>
            </ul>
            </div>

            <div data-role="footer" data-position="fixed"><h4>?2013-2015</h4></div>
        </div>
    </form>
</body>
</html>

 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="TestSql.aspx.cs" Inherits="TestSql" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>

    <meta name="viewport" content="width=device-width, initial-scale=1" /> 

    <link rel="stylesheet" href="css/jquery.mobile-1.4.5.css" />
    <link rel="stylesheet" href="css/jquery.mobile-1.4.5.min.css" />
    <script src="js/jquery.js"></script>
    <script src="js/jquery.mobile-1.4.5.min.js"></script>

</head>
<body>
    <form id="form1" runat="server">

    <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>

            <div data-role="page">

            <div data-role="header"><h1>标题</h1><a href="Default.aspx" data-icon="arrow-r"><% =GetCityName() %></a></div>

            <div id="tabs" data-role="tabs">
              <div data-role="navbar">
                <ul>
                  <li><a href="#one" data-ajax="false">第一</a></li>
                  <li><a href="#two" data-ajax="false">第二</a></li>
                </ul>
              </div>
              <div class="ui-body-d ui-content" id="one">
                <asp:DropDownList data-native-menu="false" ID="ddlSort" runat="server" OnSelectedIndexChanged="ddlSort_SelectedIndexChanged"></asp:DropDownList>
                <asp:DropDownList data-native-menu="false" ID="ddlCity" runat="server"></asp:DropDownList>
                <asp:Button ID="btnSearch" runat="server" Text="查询" CssClass="ui-btn-active" />
              </div>
              <div id="two">
                <ul data-role="listview" data-inset="true">
                    <li><a href="#">A</a></li>
                    <li><a href="#">B</a></li>
                    <li><a href="#">C</a></li>
                    <li><a href="#">D</a></li>
                    <li><a href="#">E</a></li>
                </ul>
              </div>
            </div>

            <div data-role="footer" data-position="fixed"><h4>?2013-2015</h4></div>

            </div>

            </ContentTemplate>
        </asp:UpdatePanel>

    </form>
</body>
</html>

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;

public partial class TestSql : System.Web.UI.Page
{
    SqlEditForOleDb ed = new SqlEditForOleDb();

    string CityNumber = string.Empty;

    int StationSortIndex = 0;
    string StationSortName = string.Empty;

    int StationIndex = 0;
    string StationName = string.Empty;

    protected void Page_Load(object sender, EventArgs e)
    {

        try
        {
            CityNumber = Request.QueryString["key"].ToString();
            Session["CityID"] = CityNumber;
            if (CityNumber == string.Empty)
            {
                Response.Redirect("Default.aspx");
            }
        }
        catch
        {
            Response.Redirect("Default.aspx");
        }

        ddlSort.AutoPostBack = true;
        ddlCity.AutoPostBack = true;

        if (!IsPostBack)
        {
            ddlSort.Items.Add("A");
            ddlSort.Items.Add("B");
            ddlSort.Items.Add("C");
            ddlSort.Items.Add("D");
            ddlSort.Items.Add("E");
            ddlCity.Enabled = false;
        }
        else if (ddlSort.SelectedIndex == 0)
        {
            ddlCity.Enabled = false;
        }

        StationSortName = ddlSort.Text;
        StationSortIndex = ddlSort.SelectedIndex;
        StationName = ddlCity.Text;
        StationIndex = ddlCity.SelectedIndex;
    }

    public string GetCityName()
    {
        string str = string.Empty;
        try
        {
            str = ed.Search("SELECT 名称 FROM 城市 WHERE ID = " + CityNumber).Rows[0][0].ToString();
        }
        catch
        { }
        return str;
    }

    public string GetCityID()
    {
        string str = string.Empty;
        try
        {
            str = Session["CityID"].ToString();
        }
        catch
        { }
        return str;
    }

    protected void ddlSort_SelectedIndexChanged(object sender, EventArgs e)
    {
        ddlCity.Items.Clear();

        if (ddlSort.SelectedIndex == 0)
        {
            ddlCity.Enabled = false;
        }
        else
        {
            ddlCity.Enabled = true;
            DataTable dtStation = new DataTable();
            dtStation = ed.Search("SELECT DISTINCT 城市.名称 FROM 城市 WHERE 城市.名称 like '" + StationSortName + "%'");

            for (int i = 0; i < dtStation.Rows.Count; i++)
            {
                ddlCity.Items.Add(dtStation.Rows[i][0].ToString());
            }
        }
    }

}

解决方案

目测Page_Load开头有问题,丢出异常或者session空。

解决方案二:

这个你只能自己测了,你测测从后台向前台输值那块。一般这样的问题都是代码有异常造成的。你让人从头看到尾你的代码也没人知道错在哪里,

解决方案三:

jquery mobile本身样式刷新就是一个比较麻烦的事情。如果和asp.net结合有些难度吧。
看看这里的解决方案
http://forum.jquery.com/topic/jquery-mobile-asp-net

解决方案四:

参考一下这个

Asp.net利用JQuery AJAX实现无刷新

http://www.cnblogs.com/heqichang/archive/2010/09/21/1832814.html

解决方案五:

或者看看这个是否有帮助

ASP+Ajax+Jquery无刷新留言本
http://www.mycodes.net/26/5151.htm

解决方案六:

能不能帮我写一个简单的例子,这个我研究了很多,我在网上找出了很多JS代码,大部分先刷新页面或者刷新HTML控件的代码。

解决方案七:

如果你选择使用ASP.NET控件的话,就考虑使用AJAX.net;
要么就不要使用ASP.NET控件,像ddlSort_SelectedIndexChanged 这个完全可以使用AJAX实现;

时间: 2024-09-20 22:46:02

ajax-Jquery Mobile Ajax ASP.NET控件 无刷新页面查询,添加,修改,删除的相关文章

实现ASP.NET 2.0无刷新页面更方便的方法

"无刷新页面",只是一种不确切的效果描述(其实还有其他各种方法来实现这个效果),更确切的说法是:在页面上用JavaScript调用服务器端的一个方法,然后处理返回的数据.实现它最标准的方法当然是XMLHTTP.但是,程序员都是懒惰的家伙,每个人都希望能有更方便的方法,或者,更佳的包装.比如,Lostinet的Rane就是对XMLHTTP的一个很好的包装. 终于,在ASP.NET 2.0里面,我们可以轻松的来做到这点了.服务器端任何实现了System.Web.UI.ICallbackEv

[转贴]ASP.NET 2.0无刷新页面新境界

"无刷新页面",只是一种不确切的效果描述(其实还有其他各种方法来实现这个效果),更确切的说法是:在页面上用javascript调用服务器端的一个方法,然后处理返回的数据.实现它最标准的方法当然是XMLHTTP.但是,程序员都是懒惰的家伙,每个人都希望能有更方便的方法,或者,更佳的包装.比如,Lostinet的Rane就是对XMLHTTP的一个很好的包装.    终于,在ASP.NET 2.0里面,我们可以轻松的来做到这点了.服务器端任何实现了System.Web.UI.ICallbac

mvc file控件无刷新异步上传操作源码_实用技巧

前言 上传文件应该是很常见必不可少的一个操作,网上也有很多提供的上传控件.今天遇到一个问题:input控件file无法进行异步无刷新上传.真真的感到别扭.所以就尝试这去处理了一下.主要分三个部分:上传类的封装,html input控件file处理和后台controller的调用. 上传封装类: 此类主要两个功能,一些简单的筛选和文件重命名操作. 文件的筛选包括: 文件类型,文件大小 重命名: 其中默认为不进行重命名操作,其中重命名默认为时间字符串DateTime.Now.ToString("yy

ASP.net控件开发系列之二

"生死有序" "装装孙子" 上篇文章<开篇>说了不少空洞的理论,这篇文章我还是先说说"大而化之"的东西:1.ASP.net控件(包括页面本身)的生命期的细节:2.如何开始一个控件的编写. "生死有序" ASP.net处理程序在接收到一个用户的页面请求后,它是如何变戏法把一个鲜活的页面呈现给客户端的呢?它都做了哪些事?按什么顺序做的? 要说明这个问题,我们首先要明白,一个页面它本身也是一个Control.从设计模式的

jquery mobile ajax原理

问题描述 jquery mobile ajax原理 现在做一个网站,需要用到jqm的模板,jqm默认开启ajax,这会对原来网页的超链接和表单提交造成什么影响吗? 解决方案 当你学会了css3 html5 以及移动端的JS框架.你就不屑去用qjm了.jqm优点是兼容性强.弱点就是速度太慢冗余代码太多一个项目哪需要那么多功能.现在很多框架实现选择性的组合生成一个真正适用于自己的版本 如 zepto.js 和jqmobi(这个不是jquerymobile哈,目前是速度最快的一 个 框架). 我用各种

jQuery mobile ajax加载数据后没有样式,麻烦帮帮忙谢谢!

问题描述 jQuery mobile ajax加载数据后没有样式,麻烦帮帮忙谢谢! // $.ajax({ type: 'post' url: ajaxUrl //<%=request.getParameter("""")%> data: {id:p_idcur_page:curpage} dataType: 'json' success: function (data) { //判断返回的集合是否为空 if(data.examInfoList!=nul

jquery mobile ajax加载后不能展开

问题描述 jquery mobile ajax加载后不能展开 各位大神帮忙看一下感激不尽 这是静态页面写的代码 可以正常的展开 收起 <div data-role="collapsible" data-collapsed-icon="arrow-d" data-expanded-icon="arrow-u" class="ui-collapsible ui-collapsible-inset ui-first-child ui-c

asp.net控件DataList分页用法_实用技巧

本文实例讲述了asp.net控件DataList分页用法.分享给大家供大家参考,具体如下: protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { ViewState["Page"] = 0; Bangding(); } } //绑定数据 public void Bangding() { PagedDataSource pds = new PagedDataSource(); pds.DataS

一起谈.NET技术,asp.net控件开发基础(15)

继续我们的话题吧.自定义控件.如果你还不熟悉自定义控件开发的话,还请看看我以前写了几篇,希望对你有帮助 1.1何处继承 自定义控件一般从以下几个基类(此处不包含数据控件) 一.Control类(所有服务器控件的基类,算是比较底层的类,如果控件功能比较简单,要求不多,可直接继承此类.) 二.WebControl类(标准控件的基类,继承此类,你可以继承其丰富的公共属性,若标准控件中的控件没有你需要的控件,你可以继承此类) 三.CompositeControl 类(2.0新增的类,此类继承自WebCo