第一个ExtJS程序,用了整整一个晚上才把程序调通,事实证明还是自己太菜,之前写好的三层代码原来还是有很多错误,kingcat说的没错,程序员要对自己的代码负责,明显我还是没有这一点,kingcat还有地方值得我去学习。
方便有需要的朋友,我把个人前端代码及后台cs代码全部粘贴出来,希望对初学者有用,少走像我这么SB的路线,用更多的时间去钻研更有深度的知识。
Default.aspx页面代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!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 id="Head1" runat="server">
<title>动态生成GridPanel</title>
<link rel="Stylesheet" type="text/css" href="ExtJS/resources/css/ext-all.css" />
<link rel="Stylesheet" type="text/css" href="ExtJS/resources/css/xtheme-gray.css" />
<script type="text/javascript" src="ExtJS/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="ExtJS/ext-all.js"></script>
</head>
<body>
<form id="form1" runat="server">
<div>
<div id="btnShow" style="text-align: center; padding-top: 300px; vertical-align: middle;">
</div>
<script type="text/javascript">
function LoginDemo() {
//登陆窗体
var loginPanel = new Ext.form.FormPanel
({
id: "loginPanel", labelPad: 0, labelWidth: 40, frame: true,
items:
[
{ xtype: "field", id: "UserName", fieldLabel: "用户名" },
{ xtype: "field", id: "Password", fieldLabel: "密 码" }
]
});
var loginWindow;
if (!loginWindow) {
loginWindow = new Ext.Window
({
id: "loginWindow",
title: "登陆窗口",
width: 200,
height: 127,
resizable: false,
closable: false,
items:
[
loginPanel
],
buttons:
[
{ xtype: "button", text: "确定", handler: validatorData },
{ xtype: "button", text: "取消", handler: function() { loginWindow.hide(); } }
]
});
}
loginWindow.show();
document.body.onkeydown = function() { loginWindow.show(); };
//连接数据库
function validatorData() {
var UserName = Ext.getCmp("UserName").getValue();
var Password = Ext.getCmp("Password").getValue();
if (Ext.util.Format.trim(UserName) == "" || Ext.util.Format.trim(Password) == "") {
Ext.Msg.alert("警告", "请正确输入数据,用户名和密码都不能够为空!");
return;
}
Ext.Ajax.request
({
url: "ValidatorData.aspx", //请求的地址
params: { ParamValue: "1", ParamUserName: UserName, ParamPassword: Password }, //发送的参数
success: function(response, option) {
var obj = Ext.util.JSON.decode(response.responseText); //返回的信息
if (obj.success == true) {
Ext.Msg.alert("好消息", "好消息:你登陆成功了!");
//清除输入框
Ext.getCmp("UserName").setValue("");
Ext.getCmp("Password").setValue("");
loginWindow.hide();
}
else {
Ext.Msg.alert("坏消息", "坏消息:你登陆失败了!");
}
},
failure: function() {
Ext.Msg.alert("坏消息", "坏消息:你登陆出现异常了!");
}
});
}
//显示登陆窗口
var btnShow = new Ext.Button
({
renderTo: "btnShow", text: "显示登陆窗口", handler: function() { loginWindow.show(); }
});
}
Ext.onReady(LoginDemo);
</script>
</div>
</form>
</body>
</html>
ValidatorData.cs后台代码
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using BLL;
using Model;
using System.Collections.Generic;
public partial class ValidatorData : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string ParamValue = Request["ParamValue"];
if (ParamValue == "1")
{
string UserName = Request["ParamUserName"];
string Password = Request["ParamPassword"];
#region 连接数据库
User u = new User();
u.Username =UserName;
u.Password = Password;
UserManager um = new UserManager();
if (um.IsUser(u)==true)
{
Response.Write("{success:true}");
}
else
{
Response.Write("{success:false}");
}
#endregion
}
}
}
Default.aspx是前端页面,所有的ExtJS都在页面,ValidatorData.aspx.cs是ValidatorData.aspx的后置代码,用于执行 Default.aspx页面的功能,值得注意的是ValidatorData.aspx页面代码只需保留第一句:<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ValidatorData.aspx.cs" Inherits="ValidatorData" %> ,其余删掉就可以了。当然你也可以直接写一般的处理程序ashx来代替ValidatorData.aspx,据说ashx返回的东西会比较干净,没有冗余信息。
分享到:
相关推荐
后台代码部分,这里以Java为例,展示了如何处理这个请求: ```java public void shenHeQuanBuTongGuoXueLiShuJv(HttpServletRequest request, HttpServletResponse response) throws Exception { request.set...
总的来说,这个例子是学习ExtJS与Servlet集成的一个良好起点,涵盖了前端展示、后端处理和数据库交互的基本流程。通过实践这个例子,开发者可以深入理解这两者如何协同工作,为构建更复杂的Web应用打下坚实基础。
以上代码展示了使用ExtJS创建用户登录界面以及与ASP后台交互的基本流程。在实际项目中,你还需要考虑更多细节,比如错误处理、安全措施(如防止SQL注入和XSS攻击)、以及前后端的通信协议(JSON、XML等)。对于初学...
在EXTJS中,实现分页后台处理主要是通过与服务器端进行数据交互,利用EXTJS的Store组件和HttpProxy。以下是对EXTJS分页后台处理的详细说明: 首先,`Store`对象是EXTJS中用于存储数据的核心组件。在你的代码中,`...
这个压缩包中的"ExtJs 3.1的一些小例子源代码"提供了一系列实际应用的示例,可以帮助开发者更好地理解和学习ExtJs 3.1版本的核心功能和特性。 1. **ExtJs 3.1概述** ExtJs 3.1是该框架的一个重要版本,它包含了...
在我们的例子中,我们将看到如何通过JavaScript代码来动态构建GridPanel。 在前端部分,HTML代码设置了必要的资源引用,包括CSS样式表和ExtJS的JavaScript库。`<div id="grid_div"></div>`这部分是用来放置...
2. 数据绑定:学习如何将后台数据与前端组件绑定,实现动态数据展示。 3. SSI集成:理解如何在服务器端利用SSI技术提高页面的效率,减少重复代码。 4. MVC模式:掌握ExtJS中的Model、View、Controller架构,便于组织...
在这个“EXTJS简单分页例子”中,我们将深入探讨EXTJS如何实现分页功能,以及如何与后台进行交互。 分页是Web应用中常见的数据展示方式,尤其在处理大量数据时,它可以提高页面加载速度并提供良好的用户体验。EXTJS...
在实际应用中,这些文件和例子会展示如何使用ExtJS与.NET进行交互,例如: - **前后台数据交互**:`ext_tree_json.aspx.cs`可能会通过.NET的`Page_Load`事件处理程序返回JSON数据,这些数据会被ExtJS的树形组件使用...
该项目是用EXTJS+Struts2,是实现EXTJS与后台数据交互的例子; 我从网上找的EXTJS的相关例子程序,自己在本地eclipse中创建成了完整项目,修改了代码BUG和浏览器兼容问题; 现在将完整的项目代码打包分享,对于想...
【EXTJS例子教程】深入解析EXTJS开发与应用 EXTJS是一种基于JavaScript的富互联网应用(RIA)框架,它提供了一套完整的组件化UI解决方案,能够构建出具有桌面应用程序特性的交互式Web应用。EXTJS的例子教程旨在帮助...
在实际的ExtJS应用中,`JSONArray`会用来封装从后台获取的分页数据,然后通过JSON响应发送到前端。前端接收到数据后,使用ExtJS的Grid Panel或其他组件来显示分页结果。 总结来说,这个SSH+ExtJS分页小例子展示了...
- **实现方法**: 通过特定的适配器代码实现ExtJS与其他库之间的交互,避免了库之间的冲突。 **4.2 实际应用** - **示例**: 在一个项目中同时使用ExtJS和jQuery时,可以利用适配器确保两个库之间不会产生冲突,实现...
这个"很绚丽的EXTJS例子"显然是一份包含EXTJS应用实例的压缩包,适合初学者学习和参考。 EXTJS的核心特性包括组件化、数据绑定、布局管理、丰富的UI组件库等。它的组件系统允许开发者构建出复杂的用户界面,从简单...
- **将数据保存到服务器**:使用 Ajax 技术实现客户端与服务器的交互。 ##### 3.3 布局和容器 - **容器**:用于承载 UI 组件。 - **布局**:定义容器内部组件的排列方式。 - **组件布局**:控制组件的具体布局细节...
这个简单的示例展示了如何利用ExtJs从服务器获取JSON数据,并使用分页策略在GridPanel中显示。在实际项目中,你可能还需要考虑错误处理、用户交互、性能优化等方面的问题,以构建更加健壮和用户友好的数据展示界面。
4. **Model-View-Controller**:Struts2负责后台业务处理和数据传输,ExtJS负责前端展示和用户交互,两者共同实现了MVC模式。 5. **UI组件**:在前端,我们可能会看到使用ExtJS创建的各种组件,如数据网格显示从...
总结起来,这个示例展示了如何使用ExtJS的DataGrid组件实现动态数据绑定检索功能,结合后台的PHP服务,实现了客户端和服务器之间的高效数据交互。这种技术对于构建响应式、数据密集型的Web应用至关重要,它提供了...
标题 "Ext与后台(一)" 暗示了这篇博客文章可能主要关注的是ExtJS框架与后端服务器之间的交互。ExtJS是一个流行的JavaScript库,用于构建富客户端应用程序,而这里的“后台”可能指的是服务器端的技术,如PHP、Java...
在这个示例中,我们关注的是ExtJS中的两个关键组件:GridPanel和TreePanel,以及它们如何与后台数据进行交互,实现分页和复选框联动功能。 1. **GridPanel**:GridPanel是ExtJS中用于展示表格数据的组件,它提供了...