gpt4 book ai didi

asp.net - 我可以在 ASP.NET 中创建自定义指令吗?

转载 作者:行者123 更新时间:2023-12-02 02:32:54 27 4
gpt4 key购买 nike

我在 asp.net 中创建了一个菜单控件并将其放入母版页中。此菜单控件具有 ActiveItem 属性,修改后会使菜单中的一项或另一项显示为事件项。

为了控制子页面中的事件项,我创建了一个控件,它修改由 IMenuContainer 接口(interface)强制执行的母版页属性,以更新母版页中菜单控件的事件项。

public class MenuActiveItem : Control
{
public ActiveItemEnum ActiveItem
{
get
{
var masterPage = Page.Master as IMenuContainer;
if (masterPage == null)
return ActiveItemEnum.None;

return masterPage.ActiveItem;
}

set
{
var masterPage = Page.Master as IMenuContainer;
if (masterPage == null)
return;

masterPage.ActiveItem = value;
}
}
}

一切都很完美,我真的很喜欢这个解决方案,但我想,如果我知道怎么做,我会创建一个具有相同功能的自定义指令而不是自定义控件,因为这样更有意义。

有人知道怎么做吗?

最佳答案

您应该能够将它变成您的 Page 的自定义属性,您可以在 Page 指令中设置它。

为您的页面创建一个基类,然后像这样更改您的页面指令:

<%@ Page Language="C#" MasterPageFile="~/App.master"
CodeFileBaseClass="BasePage" ActiveItem="myActiveItem" AutoEventWireup="true"
CodeFile="Page1.aspx.cs" Inherits="Page1" %>

您可能必须将属性更改为字符串,并转换为枚举。但除此之外,您的代码可以保持不变,并且不必位于控件中。

关于asp.net - 我可以在 ASP.NET 中创建自定义指令吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3071534/

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