zl程序教程

您现在的位置是:首页 >  后端

当前栏目

asp.net结合YUI3.0小示例

NetASP 示例 结合
2023-06-13 09:14:14 时间
注:由于本人主要做后台的就只用到了IO空间下面的一些东西,贴个小小的级联效果来吧,
废话少说先拿代码说话了,
复制代码代码如下:

Demo.show={
Test:function(e,Y)
{
config=Demo.config;
functiononshengchange(e)
{
varsheng=Y.Node.get("#"+config.sheng).get("value");
varspeccode=Y.Node.get("#"+config.speciality);
varyears=Y.Node.get("#"+config.years);
vartimeslist=Y.Node.get("#"+config.times);
varcontent="<optionselected=selected>请选择</option>";
speccode.setContent("<optionselected=selected>加载数据....</option>");
years.setContent(content);
timeslist.setContent(content);
varrequestSpeciality=Y.io("Test.aspx",{
                method:"POST",
                data:"type=sheng&sheng="+sheng,
                arguments:{event:"cclchange"},
                on:
                    {
                        success:successHandler,
                        failure:failureHandler
                    }
                }
            );
}
functiononspecialitychange(e)
{

varsheng=Y.Node.get("#"+config.sheng).get("value");
varspeccode=Y.Node.get("#"+config.speciality).get("value");
varyears=Y.Node.get("#"+config.years);
vartimeslist=Y.Node.get("#"+config.times);
varcontent="<optionselected=selected>请选择</option>";
years.setContent("<optionselected=selected>加载数据....</option>");
timeslist.setContent(content);
varrequestSpeciality=Y.io("Test.aspx",{
                method:"POST",
                data:"type=speciality&cclid="+ccl+"&speccode="+speccode,
                arguments:{event:"specchange"},
                on:
                    {
                        success:successHandler,
                        failure:failureHandler
                    }
                }
            );
}
functiononyearchange(e)
{
varsheng=Y.Node.get("#"+config.sheng).get("value");
varspeccode=Y.Node.get("#"+config.speciality).get("value");
varyear=Y.Node.get("#"+config.years).get("value");
vartimeslist=Y.Node.get("#"+config.times);
timeslist.setContent("<optionselected=selected>加载数据....</option>");
varrequestSpeciality=Y.io("Test.aspx",{
                method:"POST",
                data:"type=year&sheng="+sheng+"&speccode="+speccode+"&year="+year,
                arguments:{event:"yearchange"},
                on:
                    {
                        success:successHandler,
                        failure:failureHandler
                    }
                }
            );
}

functionontimeslistchagne(e){
//这里可以一直连下去
}
functionsuccessHandler(id,o,args){
if(args!=null)
if(args.event!=null)
{
if(args.event=="shengchange")
{
varroot=o.responseXML.documentElement;
varspeciality=Y.Node.get("#"+config.speciality);
varcontent="<optionselected=selected>请选择</option>";
            for(i=0;i<root.childNodes.length;i++)
            {
            varnode=root.childNodes[i];
            varvalue=node.getElementsByTagName("Code")[0].text;
            vartext=node.getElementsByTagName("CName")[0].text;
            content+="<optionvalue="+value+">"+text+"</option>";
            }
            speciality.setContent(content);
}
elseif(args.event=="specchange")
{
varroot=o.responseXML.documentElement;
varyearlist=Y.Node.get("#"+config.years);
varcontent="<optionselected=selected>请选择</option>";
            for(i=0;i<root.childNodes.length;i++)
            {            
            varvalue=root.childNodes[i].text;
            vartext=value;
            content+="<optionvalue="+value+">"+text+"</option>";
            }
            yearlist.setContent(content);
}
elseif(args.event=="yearchange")
{
varroot=o.responseXML.documentElement;
vartimeslist=Y.Node.get("#"+config.times);
varcontent="<optionselected=selected>请选择</option>";
vartimes=Y.DataType.Number.parse(root.text);
if(times==null)
times=0;
            for(i=0;i<times;i++)
            {            
            content+="<optionvalue="+(i+1)+">"+(i+1)+"</option>";
            }
            timeslist.setContent(content);
}

            }
        }

        
        functionfailureHandler(id,o){
        alert("数据获取成功");
        }
        varsheng=Y.Node.get("#"+config.sheng);
varspeccode=Y.get("#"+config.speciality);
varyear=Y.get("#"+config.years);
vartimeslist=Y.Node.get("#"+config.times);

        sheng.on("change",oncclchange);
        speccode.on("change",onspecialitychange);
        year.on("change",onyearchange);
        timeslist.on("change",ontimeslistchagne);

}
};
YUI().use("node","datatype-number","io-base",function(Y){
functiononload(e)
{
Demo.show.Test(e,Y);
}
Y.on("load",onload,window);
});


复制代码代码如下:

<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Test.aspx.cs"Inherits="Test"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headrunat="server">
<title>无标题页</title>
</head>
<body>
<formid="form1"runat="server">
<div>
<asp:DropDownListID="sheng"runat="server">
</asp:DropDownList>
<asp:DropDownListID="speciality"runat="server">
</asp:DropDownList>
<asp:DropDownListID="year"runat="server">
</asp:DropDownList>
<asp:DropDownListID="times"runat="server">
</asp:DropDownList>
</div>
</form>
</body>
</html>


复制代码代码如下:
usingSystem;
usingSystem.Collections;
usingSystem.Configuration;
usingSystem.Data;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.HtmlControls;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
publicpartialclassTest:System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!Page.ClientScript.IsClientScriptIncludeRegistered("YUI"))
Page.ClientScript.RegisterClientScriptInclude("YUI",path+"/build/yui/yui-min.js");
if(!Page.ClientScript.IsClientScriptIncludeRegistered("CLINET"))
Page.ClientScript.RegisterClientScriptInclude("CLINET",path+"/js/clinet.js");
StringBuilderscriptBlock=newStringBuilder();
scriptBlock.Append("<scripttype="text/javascript"><!--
");
scriptBlock.Append("Demo.config={");
scriptBlock.Append("sheng:""+this.sheng.ClientID+"",");
scriptBlock.Append("speciality:""+this.specialityList.ClientID+"",");
scriptBlock.Append("years:""+this.yearList.ClientID+"",");
scriptBlock.Append("times:""+this.timesList.ClientID+""");
scriptBlock.Append("};");
scriptBlock.Append("
//--></script>");
Page.ClientScript.RegisterClientScriptBlock(GetType(),"QualityAssessmentPlanCascadingDropDown",scriptBlock.ToString());

}
}

这上面为主要代码,上面那段JS我实际写的请求的是一个WEBService,你可以换一个aspx页面都行,

还有一些后台处理的到数据的就没有贴出来了,每一个级联请求的后台都是返回一个对象数组,具体的解释就不用说了,不懂的在讨论。。。