AjaxComplete 控件使用参考

本文档详细介绍了如何在ASP.NET项目中配置和使用AJAX控件,包括DLL引入、样式加载、JS脚本设置等步骤,并通过实例展示了如何实现下拉选项选择后的隐藏域赋值功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1, 引入dll : Resource\Resource\Mediinfo.AjaxControls.dll
2, 加载样式:<link href="../../Styles/excite-bike/jquery-ui-1.8.13.custom.css" rel="stylesheet" />
<link href="../../Styles/Suggester.css" rel="stylesheet" />

3, 加载 js<script src="../../Scripts/AutoCompDataCtrl.js" type="text/javascript"></script>

4, 设置页面控件 引入ScriptManager<form id="form1" runat="server">
<asp:ScriptManager ID="sm" runat="server">
</asp:ScriptManager>

CtrlTextID=" hfldZHUANGWANGJGMC" CtrlValuID="hfldZHUANGWANGJG" 
隐藏绑定值:机构名称及机构编号 ,便于交互
AjaxPath="/Web References/AutoCompDataSource.asmx" ajax 路径
AjaxMethod="GetAgencyByFix" ajax 执行方法

范例:

<%//户籍地址编号----- %><input type="hidden" id="hfldHUJIDZMC" runat="server" />
        <input type="hidden" id="hfldHUJIDZBH" runat="server" />
<li>
                                        <acc:AjaxComplete ID="HuJi" runat="server" Width="270" Height="23" Watermark="输入全称或拼音码"
                                            AllowUnresolvedItems="true" CtrlTextID="hfldHUJIDZMC" CtrlValuID="hfldHUJIDZBH"
                                            AllowMulti="false" IsGanged="JiaTing,XiuYang,ZFHuJi" HasDesc="true" DescCtrl="HuJi_Desc"
                                            ExpandWidth="300" AllowedMaxItems="1" RootCSSClass="suggester" ItemCSSClass="ui-corner-all"
                                            AjaxPath="/Web References/AutoCompDataSource.asmx" AjaxMethod="GetItemsByFix"
                                            ScriptPath="/Scripts/Suggester.js?t=20131017" OnClientBeginRequest="Address.BeginRequest"
                                            OnClientItemAdded="Address.ItemAdd_HuJi" OnClientItemRemoved="Address.ItemRemovedGrad" />
                                    </li>

选择控件中的下拉项给隐藏域中的控件赋值选中项的ID和value;
使用控件判断隐藏域中的值是否符合规则即可.

if ($.trim($("#hfldHUJIDZBH").val()) == '' || $.trim($("#hfldHUJIDZBH").val()) == '990000000000') {
                top.$.messager.alert('提示信息', '请输入关键字检索选择户籍地址(请从检索目中选择)!', 'info', function () { ExpandFun.setCtrlFocus("HuJi"); });
                return false;
            }

聚焦定位到控件(具体参考项目中form.js 中的定义)

ExpandFun.setCtrlFocus("HuJi");

允许用户填写字典中不存在的项目
设置属性

AllowUnresolvedItems="true"

范例

        <%//死胎死产原因%>
        <input type="hidden" id="hfldSITAISCYY" runat="server" />
        <input type="hidden" id="hfldSITAISCYYDM" runat="server" />
<acc:AjaxComplete ID="ajaxSITAISCYYDM" runat="server" Width="150" Height="23" Watermark="输入字典全称或拼音码"
                                AjaxOnTextLength="0" AllowMulti="true" CtrlTextID="hfldSITAISCYY" CtrlValuID="hfldSITAISCYYDM"
                                DicNumStr="4|183" RootCSSClass="suggester" AllowedMaxItems="20" ExpandHeight="200"
                                AllowUnresolvedItems="true" ItemCSSClass="ui-corner-all" AjaxPath="/Web References/AutoCompDataSource.asmx"
                                AjaxMethod="GetDictByFixAndDicNum" ScriptPath="/Scripts/Suggester.js" OnClientBeginRequest="ajax_AutoFinish.onBeginRequest_Dic"
                                OnClientItemAdded="onItemAdded_DisQTSTCtrl" OnClientItemRemoved="onItemRemoved_DisQTSTCtrl" />

如果 AllowUnresolvedItems=”false” 则用户自行输入字典中不存在的项目;保存时无法给CtrlTextID=”hfldSITAISCYY” CtrlValuID=”hfldSITAISCYYDM” 这俩项赋值
只有AllowUnresolvedItems=”true”时,输入字段中不存在的项目也会给CtrlTextID=”hfldSITAISCYY” 赋值为用户实际输入项CtrlValuID=”hfldSITAISCYYDM” 会赋值-99

控件传递参数范例

<acc:AjaxComplete ID="ajaxZHONGXYFWNR" runat="server" Width="600" ExpandHeight="100"
                                Watermark="输入字典汉字全称(拼音码缩写)" AjaxOnTextLength="0" AllowMulti="true" CtrlTextID="hfldZHONGXYFWNR"
                                CtrlValuID="hfldZHONGXYFWNRDM" DicNumStr="9|816" RootCSSClass="suggester" AllowedMaxItems="5"
                                ItemCSSClass="ui-corner-all" Height="20" AjaxPath="/Web References/AutoCompDataSource.asmx"
                                AjaxMethod="GetDicByExpress" ViewType="1,2,3,4,5,9" ScriptPath="/Scripts/Suggester.js"
                                OnClientBeginRequest="ajax_AutoFinish.onBeginRequest_Dic" OnClientItemAdded="ajax_AutoFinish.onItemAdded_Dic"
                                OnClientItemRemoved="ajax_AutoFinish.onItemRemoved_Dic" />

其中

AjaxPath="/Web References/AutoCompDataSource.asmx"  //项目路径
AjaxMethod="GetDicByExpress"                       //调用的方法
ViewType="1,2,3,4,5,9"                            //传递的参数

这里写图片描述


源码参考
[WebMethod(Description = "字典选择[根据表达式]")]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public List<Complete.Item> GetDicByExpress(Request request)
        {
            if (!string.IsNullOrEmpty(request.DicSysNum) && !string.IsNullOrEmpty(request.DicItemNum) && !string.IsNullOrEmpty(request.ViewType))
            {
                var result = new List<Complete.Item>();
                string PYM = request.Prefix.ToUpper();
                string strSql = "(PINGYINM LIKE'%{0}%' OR DAIMAMC LIKE'%{0}%') AND xiangmubh={1} and xitongbh={2} AND ZHUXIAOBZ=2 AND DAIMA IN({3}) AND ROWNUM<=50";
                var query = string.Format(strSql, PYM, request.DicItemNum, request.DicSysNum, request.ViewType);
                var list = new BLL.VGY_ZD_XIANGMUZD().GetEntityList(query, "SHUNXUH");
                foreach (var item in list)
                {
                    var items = new Complete.Item { Id = item.DAIMA, Text = item.DAIMAMC };
                    result.Add(items);
                }
                return result;
            }
            else
            {
                return null;
            }
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值