zoukankan      html  css  js  c++  java
  • 使用Ajax更新数据库

    本例通过CheckBox控制修改状态。使用按钮通过Ajax更新数据。

    例子下载: https://files.cnblogs.com/scottckt/frmGetDb.rar

    代码:

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

    <
    !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns
    ="http://www.w3.org/1999/xhtml">
    <head runat
    ="server">
        <title
    >无标题页</title>

        <script type
    ="text/C#" runat="server">
            [System.Web.Services.WebMethod]
            public static bool UpdateText(string asName, string asId)
            {
                string conectionString 
    = "Data Source=scott;Initial Catalog=bbs;Persist Security Info=True;User ID=sa;Password=123";
                System.Data.SqlClient.SqlConnection conn 
    = new System.Data.SqlClient.SqlConnection(conectionString);
                conn.Open();
                string sSQl 
    = "UPDATE block SET block_name = '" + asName + "' WHERE block_id = " + asId;
                System.Data.SqlClient.SqlCommand cmd 
    = new System.Data.SqlClient.SqlCommand(sSQl, conn);
                cmd.ExecuteNonQuery();
                
                conn.Close();
                conn.Close();
                conn.Dispose();
                
    return true;

            }
        <
    /script>

        <script type
    ="text/javascript">

        
    //启动后将所有控件状态设为 不可用
        
    function disableGridViewTextBoxes() 
        {
            
    //得到GridView
            var gvControl 
    = document.getElementById("gvCategories"); 
            
            var inputElements 
    = gvControl.getElementsByTagName("INPUT"); 
            
    for( i = 0;i < inputElements.length; i++
            {
                
    if(isTextBox(inputElements[i])) 
                {
                    inputElements[i].disabled 
    = true;
                }
            }
        }

        
    //判断是否是textBox
        
    function isTextBox(obj) 
        {
            
    return obj.type == 'text';
        }

        
    //checkBox选择后改变状态
        
    function editMode(obj) 
        {
            var rowObject 
    = obj.parentElement.parentElement; 
            var inputElements 
    = getElementsByTagName(rowObject,"INPUT"); 

            
    if(obj.checked) 
            { 
                showElements(inputElements,
    "INPUT","text"); 
            }
            
    else 
            { 
                hideElements(inputElements,
    "text"); 
            } 
        }
        
        
       
    function updateMode(obj)
        {
            var rowObject 
    = obj.parentElement.parentElement; 
            var inputElements 
    = getElementsByTagName(rowObject,"INPUT"); 
            
            var msg 
    = new Array();

            
    for(var i=0;i<inputElements.length;i++
            {
                
    if(inputElements[i].type == "checkbox")
                {
                    inputElements[i].checked 
    = false;
                }
                
    if(inputElements[i].type == "text")
                {
                    msg.push(inputElements[i].value);
                }
                
    if(inputElements[i].type == "hidden")
                {
                    msg.push(inputElements[i].value);
                }
            }
            
    //更新数据
            PageMethods.UpdateText(msg[
    0], msg[1], msg[2], onSuccess);
            
    //完成后状态变更回来
            hideElements(inputElements,
    "text"); 
            
        }        
        
        
    function onSuccess(response)
        {
        }

        
    //将件设置可用
         
    function showElements(list, tagName,type) 
        {
            
    for(i = 0;i < list.length; i++
            {
                
    if(isTypeOf(list[i],"text")) 
                {
                    list[i].disabled 
    = false;
                    list[i].focus(); 
                    
    //list[i].select(); 
                }
            }
        }

        
    //判断类型是否一致
        
    function isTypeOf(obj,type) 
        {
            
    return obj.type == type;
        }

        
    //将控件设置为不可用
        
    function hideElements(list, type) 
        {
            
    for(i = 0; i < list.length;i++
            { 
                
    if(isTypeOf(list[i],type)) 
                {
                    list[i].disabled 
    = true;
                }
            }
        }
        
        
    //可到控件中的子控件
        
    function getElementsByTagName(obj,tagName) 
        {
            
    return obj.getElementsByTagName(tagName);
        }



        <
    /script>

    <
    /head>
    <body
    >
        <form id
    ="form1" runat="server">
            <asp:ScriptManager ID
    ="ScriptManager1" runat="server" EnablePageMethods="true">
            <
    /asp:ScriptManager>
            <div
    >
                <asp:GridView ID
    ="gvCategories" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1">
                    <Columns
    >
                        <asp:TemplateField
    >
                            <ItemTemplate
    >
                                <asp:CheckBox ID
    ="chkSelect" runat="server" onclick="editMode(this)" />
                            <
    /ItemTemplate>
                        <
    /asp:TemplateField>
                        <asp:TemplateField HeaderText
    ="block_name">
                            <ItemTemplate
    >
                                <asp:TextBox ID
    ="txbName" BorderWidth="0px" ForeColor="red" runat="server" Text='<%# Eval("block_name") %>' />
                            </ItemTemplate>
                        <
    /asp:TemplateField>
                        <asp:TemplateField HeaderText
    ="block_id">
                            <ItemTemplate
    >
                                <asp:HiddenField Value
    ='<%# Eval("block_id") %>' ID="hiddenId" runat="server" />
                            </ItemTemplate>
                        <
    /asp:TemplateField>
                        <asp:TemplateField
    >
                            <ItemTemplate
    >
                                <input type
    ="button" runat="server" id="btnUpdate" value="更新" onclick="updateMode(this)" />
                            <
    /ItemTemplate>
                        <
    /asp:TemplateField>
                    <
    /Columns>
                <
    /asp:GridView>
                <asp:SqlDataSource ID
    ="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:bbsConnectionString %>"
                    SelectCommand
    ="SELECT [block_id], [block_name] FROM [block]"></asp:SqlDataSource>
            <
    /div>
        <
    /form>
    <
    /body>
    <
    /html>

    <script
    >
    disableGridViewTextBoxes(); 
    <
    /script>

  • 相关阅读:
    (转)CString,int,string,char*之间的转换
    Nt函数原型
    VC 创建窗口
    设置网络延时大小
    利用寄存器进入栈值交换
    控制用户控件里面的值
    jquery animate()动画函数
    终于有点时间了
    JQuery学习笔记(三)遮罩层、阴影层
    jquery表格隔行换色
  • 原文地址:https://www.cnblogs.com/scottckt/p/1511709.html
Copyright © 2011-2022 走看看