gpt4 book ai didi

asp.net - 在 ASP.NET 动态数据中隐藏过滤器

转载 作者:行者123 更新时间:2023-12-02 00:09:57 24 4
gpt4 key购买 nike

将 ASP.NET 与动态数据结合使用我的页面如下所示:

enter image description here

我想隐藏页面顶部的下拉列表 Invoicing CompleteRestricted Hours。我使用以下方法使它们从表中不可见:

[HideColumnIn(PageTemplate.ListDetails, PageTemplate.List)]
[ReadOnlyColumnIn(PageTemplate.Edit)]
[DisplayName("Invoicing Complete")]
public object Invoicing_Complete { get; set; }

但它们仍然出现在顶部,作为下拉菜单。我不能使用 [ScaffoldColumn(false)] 因为它完全隐藏了它,我需要用户从 Edit.aspxInsert.aspx< 查看它 页面。

请指教。

编辑:有人有什么想法吗?似乎无法找到如何执行此操作...我是否正确解释了问题?

最佳答案

John、HideColumnInReadOnlyColumnIn 是用于隐藏而不是过滤器(外键过滤器)的属性。

您可以使用多种方法解决此问题。

第一种方式,如果您使用的是 .NET Framework 4.5.NET Framework 4,您可以使用 AutoGenerateFilter 属性>显示属性。例如,

[Display(Name = "Invoicing Complete", AutoGenerateFilter = false)]

您可以在 AutoGenerateFilter 上找到更多信息.

第二种方法是创建新的属性(如HideColumnIn),然后更改ForeignKey 过滤器的代码隐藏。

一些例子:

HideFilterAttribute.cs

using System;

namespace iSite.Classes.Attributes
{
[AttributeUsage(AttributeTargets.Property)]
public class HideFilterAttribute : Attribute
{
public Boolean Hide { get; private set; }

public HideFilterAttribute(Boolean hide)
{
this.Hide = hide;
}

// default
public static HideFilterAttribute Default =
new HideFilterAttribute(false);
}
}

ForeignKey.ascx.cs

public partial class ForeignKeyFilter : System.Web.DynamicData.QueryableFilterUserControl
{
protected void Page_Init(object sender, EventArgs e)
{
string initialValue = DefaultValue;
if (initialValue == null && Column.Attributes.OfType<HideFilterAttribute>().DefaultIfEmpty(HideFilterAttribute.Default).First().Hide)
{
this.NamingContainer.Visible = false;
}
else
{
PopulateListControl(DropDownList1);
if (!String.IsNullOrEmpty(initialValue))
{
ListItem li = new ListItem();
li = DropDownList1.Items.FindByValue(initialValue);
DropDownList1.Items.Clear();
DropDownList1.Items.Add(li);
}
}
}
}

第三种和第四种方式没有DynamicData方式。您可以为此列使用自定义过滤器,并通过 Visible 属性隐藏 DropDownList 控件。您还可以通过 jQuery 库隐藏 DropDownList 控件。

关于asp.net - 在 ASP.NET 动态数据中隐藏过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15923562/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com