`

经典的ajax的连动

阅读更多

页面代码

productadd.aspx

function seltype(obj)
{ //alert(obj);
var type = productadd.TypeBind(obj).value;
document.getElementById("ddltype").outerHTML=type;
// document.getElementById("ddltype").innerHTML=type;
//alert(type);
}
function foc() {
document.Form1.TbName.focus();
var mark = "<!--ar-->";
if(mark.length>0)
{ }
else
{ var lan = document.getElementById("ddlLang").value; seltype(lan); } }
function change()
{ var pic = document.getElementById("FilePic").value;
document.getElementById("picimg").src=pic;
}
function checkNum()
{ var price = document.getElementById("TbPrice").value;
var order = document.getElementById("TbOrder").value;
for(var i=0;i='0'&&price.charAt(i)<='9'||price.charAt(i)==".") { } else { alert("价格不合法!!"); document.getElementById("TbPrice").focus(); return false; } }
for(var i=0;i='0'&&order.charAt(i)<='9') { } else { alert("排序不是纯数字!!!");
document.getElementById("TbOrder").focus(); return false; } } }

puoductadd.aspx.cs 代码

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using aoguan.classes.Db;
using System.IO;
namespace aoguan.admin.product
{
/// <summary>
/// productadd 的摘要说明。
/// </summary>
public class productadd : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DropDownList ddlLang;
protected System.Web.UI.WebControls.DropDownList ddltype;
protected System.Web.UI.WebControls.TextBox TbName;
protected System.Web.UI.WebControls.TextBox TbPrice;
protected System.Web.UI.WebControls.TextBox TbOrder;
protected System.Web.UI.WebControls.TextBox TbContent;
protected System.Web.UI.HtmlControls.HtmlInputFile FilePic;
protected System.Web.UI.WebControls.Button BtAdd;
protected string id ="";
protected string picimg="";
protected System.Web.UI.WebControls.Label LabTitle;
protected string mark="";
private void Page_Load(object sender, System.EventArgs e)
{

#region //下拉
Ajax.Utility.RegisterTypeForAjax(typeof(aoguan.admin.product.productadd));
this.ddlLang.Attributes.Add("onchange","seltype(this.value)");
#endregion
//处理
this.BtAdd.Attributes.Add("onclick","return checkNum()");
// 在此处放置用户代码以初始化页面
if(!Page.IsPostBack)
{
#region 判断是否是修改
try
{
id = Convert.ToString(Request["id"]).Trim();
ViewState["proid"] = id;
}
catch
{
ViewState["proid"] ="";
}
#endregion
DdlBind();
}
}

public void DdlBind()
{
string sql = string.Format("select * from language order by orderid");
DbAccess db = new DbAccess();
DataTable dt = db.GetTable(sql);
this.ddlLang.DataSource=dt;
this.ddlLang.DataTextField="lname";
this.ddlLang.DataValueField="lid";
this.ddlLang.DataBind();
string proid = Convert.ToString(ViewState["proid"]).Trim();
if(proid.Length>0)
{
#region 获取数据
string sqlp = string.Format("select * from product where pro_id='{0}'",proid);
DataTable dtp = db.GetTable(sqlp);
this.ddlLang.SelectedValue=Convert.ToString(dt.Rows[0]["lid"]).Trim();
string typeid = Convert.ToString(dtp.Rows[0]["protype_id"]).Trim();
string typesql = string.Format("select * from protype where protype_id='{0}'",typeid);
DataTable dttp = db.GetTable(typesql);
this.ddltype.DataSource=dttp;
this.ddltype.DataTextField="protype_name";
this.ddltype.DataValueField="protype_id";
this.ddltype.DataBind();
this.TbName.Text=Convert.ToString(dtp.Rows[0]["pro_name"]).Trim();
this.TbPrice.Text=Convert.ToString(dtp.Rows[0]["pro_price"]).Trim();
this.TbOrder.Text=Convert.ToString(dtp.Rows[0]["orderid"]).Trim();
this.TbContent.Text=Convert.ToString(dtp.Rows[0]["pro_intro"]).Trim();
this.picimg=Convert.ToString(dtp.Rows[0]["pro_pic"]).Trim();
this.mark="you";
this.LabTitle.Text="修改产品";
this.BtAdd.Text="修改";
#endregion
}
else
{

}

}
[Ajax.AjaxMethod()]
public string TypeBind(string id)
{
string sql = string.Format("select * from protype where lid={0}",id);
DbAccess db = new DbAccess();
DataTable dt = db.GetTable(sql);
string type="<select id='ddltype' name='ddltype' Width=\"152px\">";
//string type="";
for(int i=0;i<dt.Rows.Count;i++)
{
type+="<option value='"+Convert.ToString(dt.Rows[i]["protype_id"]).Trim()+"'>"+Convert.ToString(dt.Rows[i]["protype_name"]).Trim()+"</option>";
}
type+="</select>";

return type;
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.BtAdd.Click += new System.EventHandler(this.BtAdd_Click);
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion

private void BtAdd_Click(object sender, System.EventArgs e)
{
#region 上传图片
string pic = Convert.ToString(this.FilePic.PostedFile.FileName);
if(pic.Length>0)
{
string datenow = DateTime.Now.ToString("yyyyMMddHHmmss")+DateTime.Now.Millisecond.ToString();
string ext = pic.Substring(pic.LastIndexOf("."));
string dir = this.Server.MapPath("../../upload/propic");
if(Directory.Exists(dir))
{

}
else
{
Directory.CreateDirectory(dir);
}
pic = datenow+ext;
this.FilePic.PostedFile.SaveAs(dir+"\\"+pic);
}

#endregion
string lang = Convert.ToString(this.ddlLang.SelectedValue.Trim());
string type = Convert.ToString(Request.Form["ddltype"]).Trim();
string proname = Convert.ToString(this.TbName.Text.Trim()).Trim();
string proprice = Convert.ToString(this.TbPrice.Text.Trim());
string order = Convert.ToString(this.TbOrder.Text.Trim());

string intro = Convert.ToString(this.TbContent.Text.Trim());
#region 判断数据
if(lang.Length<1)
{
Response.Write("<script>alert('请选择语言!!')</script>");
return;
}
if(type.Length<1)
{
Response.Write("<script>alert('请选择类型!!')</script>");
return;
}
if(proname.Length<1)
{
Response.Write("<script>alert('产品名非空!!')</script>");
return;
}
if(proprice.Length<1)
{
Response.Write("<script>alert('价格非空!!')</script>");
return;
}
else
{
char[] aa = proprice.ToCharArray();
for(int i=0;i<aa.Length;i++)
{
if(aa[i]>='0'&&aa[i]<='9'||aa[i]=='.')
{

}
else
{
Response.Write("<script>alert('价格不是纯数字!!')</script>");
return;
}
}
}
if(order.Length<1)
{
Response.Write("<script>alert('序号非空!!')</script>");
return;
}
else
{
char[] aa = order.ToCharArray();
for(int i=0;i<aa.Length;i++)
{
if(aa[i]>='0'&&aa[i]<='9')
{

}
else
{
Response.Write("<script>alert('序号不是纯数字!!')</script>");
return;
}
}
}
if(intro.Length<1)
{
Response.Write("<script>alert('产品介绍非空!!')</script>");
return;
}
#endregion
string proid = Convert.ToString(ViewState["proid"]).Trim();
DbAccess db = new DbAccess();
if(proid.Length>0)
{
string sql="";
if(pic.Length>0)
{
sql = string.Format("update product set lid={0},protype_id='{1}',pro_name='{2}',pro_price={3},pro_intro='{4}',pro_pic='{4}',orderid={5} where pro_id='{6}'",lang,type,proname,proprice,intro,pic,order,proid);
}
else
{
sql = string.Format("update product set lid={0},protype_id='{1}',pro_name='{2}',pro_price={3},pro_intro='{4}',orderid={5} where pro_id='{6}'",lang,type,proname,proprice,intro,order,proid);

}

int count = db.GetState(sql);
string str ="";
if(count>0)
{
str ="成功修改!!";
Response.Write("<script>alert('"+str+"');document.location='productlist.aspx'</script>");
}
else
{
str ="含有非法字符!!";
Response.Write("<script>alert('"+str+"');history.go(-1)</script>");
}

}
else
{
string sql = string.Format("insert into product(lid,protype_id,pro_name,pro_price,orderid,pro_pic,pro_intro) values({0},'{1}','{2}',{3},{4},'{5}','{6}')",lang,type,proname,proprice,order,pic,intro);

int count =db.GetState(sql);
if(count>0)
{
Response.Write("<script>function ss(){if(confirm('添加成功!!是否继续!!')){document.location='productadd.aspx'}else{document.location='productlist.aspx'}}ss();</script>");
}
else
{

}
}


//Response.Write("<script>alert('"+type+"')</script>");
}
}
}

分享到:
评论

相关推荐

    ajax联动

    在实现Ajax联动时,需要注意错误处理,确保在服务器端出现问题时,能够给用户适当的反馈。同时,由于Ajax请求可能会增加服务器负载,因此应合理设计缓存策略,减少不必要的请求。 总结,Ajax技术结合ASP.NET 2.0为...

    Ajax联动菜单(asp.net)

    在ASP.NET开发中,Ajax联动菜单是一种常见的交互设计,它能提供流畅的用户体验,无需页面刷新即可更新相关信息。Ajax(Asynchronous JavaScript and XML)技术利用JavaScript异步处理数据,结合XML或其他格式的数据...

    Ajax联动菜单

    ### Ajax联动菜单:深入解析与实现机制 在Web开发领域,动态加载数据并实时更新页面内容是提升用户体验的重要手段之一。Ajax(Asynchronous JavaScript and XML)技术因其无需刷新整个页面即可与服务器交互的能力,...

    Ajax四级联动源代码

    在本资源"Ajax四级联动源代码"中,我们探讨的是一种利用Ajax实现的城市选择的四级联动效果,这在很多网站的地址输入、筛选功能中常见。四级联动通常指的是省-市-区-街道的逐级下拉菜单,用户选择一个层级后,下一...

    ajax实现无限级联动

    在网页开发中,"Ajax 实现无限级联动"是一种常见的交互设计技术,它允许用户在无需刷新整个页面的情况下,通过下拉菜单、树形结构或其他交互元素实现各级数据的动态加载。这种技术大大提升了用户体验,使得网站操作...

    Ajax 联动菜单 简单易学

    Ajax 联动菜单 Ajax 联动菜单Ajax 联动菜单

    Ajax 无限级 联动下拉框

    本文将深入探讨如何利用Ajax实现无限级联动下拉框的功能。 一、Ajax基础概念 Ajax的核心是通过JavaScript创建XMLHttpRequest对象,它允许在后台与服务器进行异步数据交换。JavaScript调用XMLHttpRequest对象的open...

    Ajax实现省市联动效果

    "省市联动效果"是Ajax应用的一个常见场景,尤其在地址选择、地区筛选等需求中尤为常见。 省市联动效果的基本概念是,当用户在选择省份时,通过Ajax异步请求,后台返回对应省份的城市列表,并动态地更新到页面的城市...

    AJAX无限级联动菜单

    **AJAX无限级联动菜单**是一种常见的Web交互技术,它基于ASP.NET框架,结合AJAX(Asynchronous JavaScript and XML)和ACCESS数据库实现。这个技术的主要目的是提供用户友好的界面,通过异步方式加载数据,无需刷新...

    Ajax JavaWeb JS 三级联动

    在Web开发中,"Ajax JavaWeb JS 三级联动"是一个常见的功能需求,它涉及到前端JavaScript技术、后端JavaWeb服务以及Ajax异步通信。这个功能主要用于创建交互性强的下拉菜单,通常用于地区选择、商品分类等场景,用户...

    ajax三级联动,三级联动,联动,ajax,无刷新三级联动

    这里的“三级联动”是指在网页中,三个下拉菜单或者选择框之间通过Ajax进行数据同步和更新,用户在一级菜单中选择一个选项后,二级菜单会根据一级的选择自动加载相关数据,同样,选择二级菜单后,三级菜单也会随之...

    php+ajax二级联动

    在IT行业中,"php+ajax 二级联动"是一种常见的前端交互技术,主要用于构建动态、无刷新的用户界面。这种技术可以提升用户体验,因为用户在选择一个选项时,无需等待整个页面刷新,就能实时看到下级选项的变化。接...

    Asp Ajax 联动菜单

    总之,Asp Ajax联动菜单的实现结合了服务器端的动态生成、客户端的异步交互和前端的动态更新,是提高Web应用交互性和性能的有效手段。对于Asp.NET开发者来说,熟悉并掌握这一技术对提升项目质量至关重要。

    ajax 三级联动

    **Ajax 三级联动详解** 在Web开发中,Ajax(Asynchronous JavaScript and XML)技术被广泛应用于创建动态、交互性强的网页应用。它允许在不刷新整个页面的情况下,通过后台与服务器进行数据交换,提升了用户体验。...

    省市区 ajax多级联动 select

    在网页开发中,"省市区 ajax多级联动 select" 是一种常见的交互设计,主要用于用户填写地址信息时,通过联动下拉框的方式展示省、市、区的层级结构。这种功能通常利用 AJAX(异步JavaScript和XML)技术实现,与...

    ajax使用jquery json实现的省市县三级联动经验总结

    ### Ajax与jQuery在省市县三级联动中的应用 #### 一、Ajax简介 Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。通过在后台与服务器进行少量数据交换,...

    Ajax无刷新三级联动和分页

    本项目"Ajax无刷新三级联动和分页"正是利用了这一特性,实现了在用户选择省市区时的无缝交互以及数据分页显示。 一、Ajax无刷新技术 Ajax的核心是通过XMLHttpRequest对象向服务器发送异步请求,获取数据后,...

    ajax无限极联动

    **Ajax 无限极联动技术详解** 在Web开发中,用户界面的交互性和实时性是提升用户体验的关键因素之一。Ajax(Asynchronous JavaScript and XML)技术的出现,为实现这些目标提供了强大的支持。本篇文章将深入探讨...

    基于javaweb和ajax的省市联动实现

    在JavaWeb开发中,"基于Ajax的省市联动实现"是一个常见的功能需求,它允许用户在选择省份时,市的选择项会动态更新,提供相应的下拉选项。这种联动效果提升了用户体验,减少了不必要的页面刷新。实现这一功能的核心...

Global site tag (gtag.js) - Google Analytics