public void Init(System.Collections.Specialized.NameValueCollection createTag, string map, int index) { for (int i = 0; i < createTag.Count; i++) { switch (createTag.Keys[i]) { case "Provider": switch (createTag[i]) { case "Procedure": _dataBuilder = new Xy.Data.DataBuilders.ProcedureBuilder(); break; case "Data": _dataBuilder = new Xy.Data.DataBuilders.DataBuilder(); break; case "Request": _dataBuilder = new Xy.Data.DataBuilders.RequestBuilder(); break; case "XML": _dataBuilder = new Xy.Data.DataBuilders.XMLBuilder(); break; default: try { _dataBuilder = Runtime.Web.DataBuilderFactory.Get(createTag[i]); } catch (NullReferenceException ex) { throw new Exception(string.Format("Cannot found data builder:{0}, please assign a correct provider.", createTag[i])); } if(_dataBuilder == null) throw new Exception(string.Format("Cannot found data builder:{0}, please assign a correct provider.", createTag[i])); break; } break; case "Xslt": _xsltPath = createTag[i]; break; case "XsltParameter": _xsltParameter = createTag[i]; break; case "EnableScript": _enableScript = string.Compare(createTag[i], "true", true) == 0; break; case "EnableCode": _enableCode = string.Compare(createTag[i], "true", true) == 0; break; case "EnableCache": _enableCache = string.Compare(createTag[i], "true", true) == 0; break; case "Root": _root = createTag[i]; break; default: _tagList.Add(createTag.Keys[i], createTag[i]); break; } } _map = string.Concat(map, "DataControl", index); _isNeedData = string.IsNullOrEmpty(_xsltPath); }
public void Init(System.Collections.Specialized.NameValueCollection createTag, string map, int index) { for (int i = 0; i < createTag.Count; i++) { switch (createTag.Keys[i]) { case "Provider": switch (createTag[i]) { case "Procedure": _dataBuilder = new Xy.Data.DataBuilders.ProcedureBuilder(); break; case "Data": _dataBuilder = new Xy.Data.DataBuilders.DataBuilder(); break; case "Request": _dataBuilder = new Xy.Data.DataBuilders.RequestBuilder(); break; case "XML": _dataBuilder = new Xy.Data.DataBuilders.XMLBuilder(); break; default: try { _dataBuilder = Runtime.Web.DataBuilderFactory.Get(createTag[i]); } catch (NullReferenceException ex) { throw new Exception(string.Format("Cannot found data builder:{0}, please assign a correct provider.", createTag[i])); } if (_dataBuilder == null) { throw new Exception(string.Format("Cannot found data builder:{0}, please assign a correct provider.", createTag[i])); } break; } break; case "Xslt": _xsltPath = createTag[i]; break; case "XsltParameter": _xsltParameter = createTag[i]; break; case "EnableScript": _enableScript = string.Compare(createTag[i], "true", true) == 0; break; case "EnableCode": _enableCode = string.Compare(createTag[i], "true", true) == 0; break; case "EnableCache": _enableCache = string.Compare(createTag[i], "true", true) == 0; break; case "Root": _root = createTag[i]; break; default: _tagList.Add(createTag.Keys[i], createTag[i]); break; } } _map = string.Concat(map, "DataControl", index); _isNeedData = string.IsNullOrEmpty(_xsltPath); }