本文整理汇总了C#中ElementRequest类的典型用法代码示例。如果您正苦于以下问题:C# ElementRequest类的具体用法?C# ElementRequest怎么用?C# ElementRequest使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ElementRequest类属于命名空间,在下文中一共展示了ElementRequest类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。
示例1: AwesomeFields
//returning a string is DUMB
public static string AwesomeFields(this IFubuPage page, object model)
{
var type = model.GetType();
var result = new StringBuilder();
var tags = page.Tags<AwesomeEditModel>();
var sl = page.Get<IServiceLocator>();
tags.SetProfile(AwesomeConfiguration.TagProfile);
foreach(var prop in getProperties(type))
{
var p = new SingleProperty(prop, type);
var elementRequest = new ElementRequest(model, p, sl);
var accessRight = page.Get<IFieldAccessService>().RightsFor(elementRequest);
var line = new FormLineExpression<AwesomeEditModel>(tags, tags.NewFieldLayout(), elementRequest)
.Access(accessRight)
.Editable(true);
result.Append(line.ToString());
}
return result.ToString();
}
开发者ID:KevM,项目名称:awesomesauce,代码行数:26,代码来源:AwesomeFubuPageExtensions.cs
示例2: modify
protected override void modify(ElementRequest request)
{
var rules = request.Get<ValidationGraph>().FieldRulesFor(request.Accessor);
var modifier = request.Get<IFieldValidationModifier>();
rules.Each(x => modifier.ModifyFor(x, request));
}
开发者ID:joemcbride,项目名称:fubuvalidation,代码行数:7,代码来源:FieldValidationElementModifier.cs
示例3: Build
public override void Build(ElementRequest request, HtmlTag tag)
{
tag
.AllTags()
.Where(t => t.IsInputElement())
.ForEach(t => t.AddClass("email"));
}
开发者ID:phoenixwebgroup,项目名称:DotNetExtensions,代码行数:7,代码来源:EmailValidationModifier.cs
示例4: Build
public override HtmlTag Build(ElementRequest request)
{
var tag = new HtmlTag("div").Text(request.StringValue()).AddClass("editable").Id(request.Accessor.Name);
var options = new EditOptions();
if (request.Accessor.HasAttribute<MarkdownAttribute>())
{
tag.UnEncoded().Text(new Markdown().Transform(request.RawValue== null ? "" : request.RawValue.ToString()));
options.Markdown = true;
}
options.MultiLine = request.Accessor.Name == "Details";
options.RequiresExplicitUserActionForSave = true;
options.MaximumLength = request.Accessor.PropertyType.Equals(typeof(string)) ? Entity.UnboundedStringLength : 0;
options.IsDate = request.Accessor.PropertyType.IsDateTime();
options.IsTime = request.Accessor.Name.ToLower().Contains("time");
options.IsNumber = request.Accessor.PropertyType.IsIntegerBased() || request.Accessor.PropertyType.IsFloatingPoint();
options.Required = request.Accessor.HasAttribute<RequiredAttribute>();
options.PlaceholderText = "Double-Click to edit " + request.Accessor.Name.ToLower() + ".";
var data = options.ToJson();
tag.Attr("data", "{editoptions:"+data+"}");
return tag;
}
开发者ID:rauhryan,项目名称:kokugen,代码行数:27,代码来源:EditInPlaceBuilder.cs
示例5: AddElementName
public static void AddElementName(ElementRequest request, HtmlTag tag)
{
if (tag.IsInputElement())
{
tag.Attr(HtmlAttributeConstants.Name, request.ElementId);
}
}
开发者ID:phoenixwebgroup,项目名称:Accountability,代码行数:7,代码来源:HtmlConventions.cs
示例6: Build
public override HtmlTag Build(ElementRequest request)
{
Action<SelectTag> action = x =>
{
var value = request.RawValue;
var valueType = request.Accessor.PropertyType;
var repository = ObjectFactory.Container.GetInstance<IRepository>();
var getIdsFromPrincipal = ObjectFactory.Container.GetInstance<ISessionContext>();
repository.DisableFilter("TenantConditionFilter");
repository.DisableFilter("OrgConditionFilter");
var findAll = typeof(Repository).GetMethod("FindAll");
var genericFindAll = findAll.MakeGenericMethod(new []{valueType});
var lookupTypes = (IEnumerable<ILookupType>)genericFindAll.Invoke(repository, new object[] { });
var selectListItemService = ObjectFactory.Container.GetInstance<ISelectListItemService>();
var selectListItems = selectListItemService.CreateLookupList(lookupTypes, l => l.Name, l => l.EntityId, true);
repository.EnableFilter("OrgConditionFilter", "OrgId", getIdsFromPrincipal.GetOrgId());
//if (selectListItems == null) return;
selectListItems.Each(option => x.Option(option.Text, option.Value.IsNotEmpty() ? option.Value : ""));
if (value != null && value.ToString().IsNotEmpty())
{
var lookupType = value as ILookupType;
x.SelectByValue(lookupType.EntityId.ToString());
}
x.AddClass("mf_fixedWidthDropdown");
x.AddClass("fixedWidthDropdown");
};
return new SelectTag(action);
}
开发者ID:reharik,项目名称:MethodFitness,代码行数:32,代码来源:SelectFromLookupTypeBuilder.cs
示例7: Build
public override HtmlTag Build(ElementRequest request)
{
var attr = request.Accessor.GetAttribute<ValueOfAttribute>();
var value = ValueObjectRegistry.GetValueObjectHolder(attr.Name);
if (value == null) return new TextboxTag(request.ElementId, request.Value<string>());
var defaultValue = "";
if (request.RawValue != null)
{
defaultValue = request.RawValue.ToString();
}
if (defaultValue.IsEmpty())
{
ValueObject @default = value.Values.FirstOrDefault(x => x.IsDefault);
if (@default != null) defaultValue = @default.Key;
}
return new SelectTag(tag =>
{
tag.TopOption(string.Format("-- Select {0} --", value.GetKey()), null);
value.Values.Each(vo => tag.Option(vo.Value, vo.Key));
tag.SelectByValue(defaultValue);
});
}
开发者ID:rauhryan,项目名称:kokugen,代码行数:26,代码来源:ValueObjectDropdownBuilder.cs
示例8: Build
public override HtmlTag Build(ElementRequest request)
{
PhoneNumber p = request.Accessor.GetValue(request.Model) as PhoneNumber;
string str = string.Format("({0}) {1}-{2}", p.AreaCode, p.Prefix, p.Suffix);
return new HtmlTag("span").Text(str);
}
开发者ID:randrews,项目名称:dovetail,代码行数:7,代码来源:PhoneNumberDisplayConvention.cs
示例9: Build
public static HtmlTag Build(ElementRequest request)
{
var numberOfRows = 6;
int? numberOfColumns = null;
var attribute = request.Accessor.GetAttribute<MultilineAttribute>();
if (attribute != null)
{
if (attribute.NumberOfRows.HasValue)
{
numberOfRows = attribute.NumberOfRows.Value;
}
if (attribute.NumberOfColumns.HasValue)
{
numberOfColumns = attribute.NumberOfColumns.Value;
}
}
var textArea = new TextAreaTag()
.Rows(numberOfRows);
if (numberOfColumns.HasValue)
{
textArea.Cols(numberOfColumns.Value);
}
return textArea
.Id(request.ElementId)
.Attr(HtmlAttributeConstants.Name, request.ElementId)
.Text(request.StringValue());
}
开发者ID:phoenixwebgroup,项目名称:DotNetExtensions,代码行数:29,代码来源:TextAreaBuilder.cs
示例10: Build
public override void Build(ElementRequest request, HtmlTag tag)
{
// todo can we narrow down for numbers that it's a whole number (probably need a regex to allow commas too)
tag.AllTags()
.Where(t => t.IsInputElement())
.ForEach(t => t.AddClass("number"));
}
开发者ID:phoenixwebgroup,项目名称:DotNetExtensions,代码行数:7,代码来源:NumericValidationModifier.cs
示例11: BuildTag
protected override HtmlTag BuildTag(ElementRequest request)
{
var attribute = GetCheckBoxListAttribute(request);
var tag = attribute.Horizontal ? Tags.Span : Tags.Div;
var optionPairs = GetOptionPairs(request, attribute);
var checkedOptions = request.Value<IList<int>>().Cast<object>();
var groupName = request.ElementId;
foreach (var option in optionPairs)
{
var isChecked = checkedOptions.Contains(option.Value);
var label = Tags.Label.For(groupName).Text(option.Text);
var checkBox = Tags.Checkbox(isChecked).Name(groupName).Value(option.Value);
tag.Nest(
Tags.Div.Nest(
Tags.Span
.AddClass(OptionSpanClass)
.AddClass(attribute.Horizontal ? OptionHorizontalSpanClass : string.Empty)
.Nest(
label,
checkBox
)));
}
return tag
.AddClass(CheckBoxesClass);
}
开发者ID:phoenixwebgroup,项目名称:DotNetExtensions,代码行数:28,代码来源:CheckBoxListBuilder.cs
示例12: BuildTag
protected override HtmlTag BuildTag(ElementRequest request)
{
var label = LabelingConvention.GetLabelText(request.Accessor);
return Tags.Span
.Text(label);
}
开发者ID:phoenixwebgroup,项目名称:DotNetExtensions,代码行数:7,代码来源:DefaultLabeler.cs
示例13: SetSelectedValue
private static void SetSelectedValue(ElementRequest request, SelectTag select)
{
if (!request.ValueIsEmpty())
{
select.SelectByValue(request.Value<int>().ToString());
}
}
开发者ID:phoenixwebgroup,项目名称:DotNetExtensions,代码行数:7,代码来源:EnumDropDownBuilder.cs
示例14: Build
public override HtmlTag Build(ElementRequest request)
{
Action<SelectTag> action = x =>
{
var value = request.RawValue;
Enumeration enumeration = request.Accessor.InnerProperty.GetEnumeration("");
if (enumeration == null) return;
IEnumerable<Enumeration> enumerations = Enumeration.GetAllActive(enumeration);
if (enumerations == null) return;
enumerations = enumerations.OrderBy(item => item.Key);
foreach (Enumeration option in enumerations)
{
x.Option(option.Key,
option.Value ?? option.Key);
}
if (value != null && value.ToString().IsNotEmpty())
{
x.SelectByValue(value);
}
else
{
Enumeration defaultOption = enumerations.FirstOrDefault(o => o.IsDefault);
if (defaultOption != null)
{
x.SelectByValue(defaultOption.Value.IsEmpty() ? defaultOption.Key : defaultOption.Value);
}
}
};
return new SelectTag(action);
}
开发者ID:reharik,项目名称:KnowYourTurf,代码行数:31,代码来源:SelectFromEnumerationBuilder.cs
示例15: PlanFor
public ITagPlan PlanFor(ElementRequest subject, string profile = null, string category = null)
{
profile = profile ?? TagConstants.Default;
category = category ?? TagConstants.Default;
return _categories[category].PlanFor(subject, profile);
}
开发者ID:calebjenkins,项目名称:htmltags,代码行数:7,代码来源:TagLibrary.cs
示例16: BuilderFor
public ITagBuilder BuilderFor(ElementRequest subject)
{
return
_rules.AllRulesFor<IElementTagOverride>(subject.Accessor)
.First(x => x.Category == _category && x.Profile == _profile)
.Builder();
}
开发者ID:calebjenkins,项目名称:htmltags,代码行数:7,代码来源:AccessorOverrideElementBuilderPolicy.cs
示例17: AddElementName
public static void AddElementName(ElementRequest request, HtmlTag tag)
{
if (tag.IsInputElement())
{
tag.Attr("name", request.ElementId);
}
}
开发者ID:joshuaflanagan,项目名称:fubumvc,代码行数:7,代码来源:DefaultHtmlConventions.cs
示例18: AwesomeDisplay
public static string AwesomeDisplay(this IFubuPage page, object model)
{
var type = model.GetType();
var result = new StringBuilder();
var tags = page.Tags(model);
var sl = page.Get<IServiceLocator>();
tags.SetProfile(AwesomeConfiguration.TagProfile);
var tr = new HtmlTag("tr");
foreach (var prop in getProperties(type))
{
var p = new SingleProperty(prop, type);
var elementRequest = new ElementRequest(model, p, sl);
var accessRight = page.Get<IFieldAccessService>().RightsFor(elementRequest);
HtmlTag display = tags.DisplayFor(elementRequest).Authorized(accessRight.Read);
var td = new HtmlTag("td").Append(display);
tr.Append(td);
}
var editLink = new LinkTag("Edit", page.EditUrlFor(model));
tr.Append(new HtmlTag("td").Append(editLink));
var deleteLink = new LinkTag("Delete", page.DeleteUrlFor(model));
tr.Append(new HtmlTag("td").Append(deleteLink));
result.Append(tr.ToString());
return result.ToString();
}
开发者ID:rauhryan,项目名称:awesomesauce,代码行数:29,代码来源:AwesomeFubuPageExtensions.cs
示例19: RightsFor
public AccessRight RightsFor(ElementRequest request)
{
var matchingRules = _rules.Where(x => x.Matches(request.Accessor));
var authorizationRules = matchingRules.Where(x => x.Category == FieldAccessCategory.Authorization);
var logicRules = matchingRules.Where(x => x.Category == FieldAccessCategory.LogicCondition);
return _accessRightsExecutor.RightsFor(request, authorizationRules, logicRules);
}
开发者ID:emiaj,项目名称:FubuMVC.Core.UI,代码行数:7,代码来源:FieldAccessService.cs
示例20: should_Build_properly
public void should_Build_properly()
{
var def = AccessorDef.For<PickupOrder>(x => x.PhoneNumber);
var services = MockRepository.GenerateStub<IServiceLocator>();
ElementRequest request = new ElementRequest(new PickupOrder(), ReflectionHelper.GetAccessor<PickupOrder>(m => m.PhoneNumber), services);
builder.Build(request).ShouldNotBeNull();
}
开发者ID:randrews,项目名称:dovetail,代码行数:7,代码来源:PhoneNumberConventionTester.cs
注:本文中的ElementRequest类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论