请问关于c的具体应用场景有哪些?

2026-04-29 02:492阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计769个文字,预计阅读时间需要4分钟。

请问关于c的具体应用场景有哪些?

在我的一项项目中,我需要构建一个ASP.NET页面,并动态创建一些控件。这些控件由隐藏的类添加到页面中,并附加了一些事件处理程序。在回发(PostBacks)过程中,这些事件处理程序与页面上的控件相关联。

在我的一个项目中,我需要构建一个ASP.NET页面,并且需要动态创建一些控件.这些控件由代码隐藏类添加到页面中,并且它们添加了一些事件处理程序.在PostBacks上,这些事件处理程序与页面上显示的控件有很大关系.简而言之,这对我不起作用,我似乎无法弄清楚这一点.

因此,由于我的项目非常复杂,我决定创建一个不起作用的简短示例,但是如果你可以调整它以使其工作,那将是很好的,然后我就能将你的解决方案应用到我的原始问题.

以下示例应在面板上动态创建三个按钮.按下其中一个按钮时,除了按下的按钮外,应动态重新创建所有按钮.换句话说,只需隐藏用户按下的按钮并显示另外两个按钮.

为了使您的解决方案有所帮助,您无法静态创建按钮,然后使用Visible属性(或以其他方式彻底更改示例) – 您必须在每个PostBack上动态地重新创建所有按钮控件(不一定在事件处理程序虽然).这不是一个棘手的问题 – 我真的不知道该怎么做.非常感谢您的努力.这是我的简短例子:

从Default.aspx文件:

<body> <form id="form1" runat="server"> <div> <asp:Panel ID="ButtonsPanel" runat="server"></asp:Panel> </div> </form> </body>

从Default.aspx.cs代码隐藏文件:

using System; using System.Web.UI; using System.Web.UI.WebControls; namespace DynamicControls { public partial class _Default : Page { protected void Page_Load(object sender, EventArgs e) { AddButtons(); } protected void AddButtons() { var lastClick = (string) Session["ClickedButton"] ?? ""; ButtonsPanel.Controls.Clear(); if (!lastClick.Equals("1")) AddButtonControl("1"); if (!lastClick.Equals("2")) AddButtonControl("2"); if (!lastClick.Equals("3")) AddButtonControl("3"); } protected void AddButtonControl(String id) { var button = new Button {Text = id}; button.Click += button_Click; ButtonsPanel.Controls.Add(button); } private void button_Click(object sender, EventArgs e) { Session["ClickedButton"] = ((Button) sender).Text; AddButtons(); } } }

我的示例显示了三个按钮,当我单击其中一个按钮时,按下的按钮将被隐藏.似乎工作;但是在第一次点击之后,我必须点击每个按钮TWICE才能隐藏它. !?

我认为你必须在每次添加它们时为你的按钮提供相同的ID,例如(在AddButtonControl方法的第一行):

var button = new Button { Text = id , ID = id };

编辑 – 我的解决方案没有使用会话:

请问关于c的具体应用场景有哪些?

public partial class _Default : Page { protected override void OnPreInit(EventArgs e) { base.OnPreInit(e); AddButtons(); } protected void AddButtons() { AddButtonControl("btn1", "1"); AddButtonControl("btn2", "2"); AddButtonControl("btn3", "3"); } protected void AddButtonControl(string id, string text) { var button = new Button { Text = text, ID = id }; button.Click += button_Click; ButtonsPanel.Controls.Add(button); } private void button_Click(object sender, EventArgs e) { foreach (Control control in ButtonsPanel.Controls) control.Visible = !control.Equals(sender); } }

本文共计769个文字,预计阅读时间需要4分钟。

请问关于c的具体应用场景有哪些?

在我的一项项目中,我需要构建一个ASP.NET页面,并动态创建一些控件。这些控件由隐藏的类添加到页面中,并附加了一些事件处理程序。在回发(PostBacks)过程中,这些事件处理程序与页面上的控件相关联。

在我的一个项目中,我需要构建一个ASP.NET页面,并且需要动态创建一些控件.这些控件由代码隐藏类添加到页面中,并且它们添加了一些事件处理程序.在PostBacks上,这些事件处理程序与页面上显示的控件有很大关系.简而言之,这对我不起作用,我似乎无法弄清楚这一点.

因此,由于我的项目非常复杂,我决定创建一个不起作用的简短示例,但是如果你可以调整它以使其工作,那将是很好的,然后我就能将你的解决方案应用到我的原始问题.

以下示例应在面板上动态创建三个按钮.按下其中一个按钮时,除了按下的按钮外,应动态重新创建所有按钮.换句话说,只需隐藏用户按下的按钮并显示另外两个按钮.

为了使您的解决方案有所帮助,您无法静态创建按钮,然后使用Visible属性(或以其他方式彻底更改示例) – 您必须在每个PostBack上动态地重新创建所有按钮控件(不一定在事件处理程序虽然).这不是一个棘手的问题 – 我真的不知道该怎么做.非常感谢您的努力.这是我的简短例子:

从Default.aspx文件:

<body> <form id="form1" runat="server"> <div> <asp:Panel ID="ButtonsPanel" runat="server"></asp:Panel> </div> </form> </body>

从Default.aspx.cs代码隐藏文件:

using System; using System.Web.UI; using System.Web.UI.WebControls; namespace DynamicControls { public partial class _Default : Page { protected void Page_Load(object sender, EventArgs e) { AddButtons(); } protected void AddButtons() { var lastClick = (string) Session["ClickedButton"] ?? ""; ButtonsPanel.Controls.Clear(); if (!lastClick.Equals("1")) AddButtonControl("1"); if (!lastClick.Equals("2")) AddButtonControl("2"); if (!lastClick.Equals("3")) AddButtonControl("3"); } protected void AddButtonControl(String id) { var button = new Button {Text = id}; button.Click += button_Click; ButtonsPanel.Controls.Add(button); } private void button_Click(object sender, EventArgs e) { Session["ClickedButton"] = ((Button) sender).Text; AddButtons(); } } }

我的示例显示了三个按钮,当我单击其中一个按钮时,按下的按钮将被隐藏.似乎工作;但是在第一次点击之后,我必须点击每个按钮TWICE才能隐藏它. !?

我认为你必须在每次添加它们时为你的按钮提供相同的ID,例如(在AddButtonControl方法的第一行):

var button = new Button { Text = id , ID = id };

编辑 – 我的解决方案没有使用会话:

请问关于c的具体应用场景有哪些?

public partial class _Default : Page { protected override void OnPreInit(EventArgs e) { base.OnPreInit(e); AddButtons(); } protected void AddButtons() { AddButtonControl("btn1", "1"); AddButtonControl("btn2", "2"); AddButtonControl("btn3", "3"); } protected void AddButtonControl(string id, string text) { var button = new Button { Text = text, ID = id }; button.Click += button_Click; ButtonsPanel.Controls.Add(button); } private void button_Click(object sender, EventArgs e) { foreach (Control control in ButtonsPanel.Controls) control.Visible = !control.Equals(sender); } }