问题标签 [code-behind]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
4228 浏览

asp.net-mvc - ASP.NET MVC 视图 - 我可以使用代码隐藏

我是 MVC 的新手,我注意到视图页面在所有混合的脚本标签中看起来很讨厌。在视图代码隐藏中的方法中生成 HTML 然后将方法的字符串结果作为单个脚本插入是否有意义?

例如:<div><%= GenerateTonsOfHTMLFromSomeIEnumerable() %></div>

这是否与 MVC 哲学相悖?出于其他原因而愚蠢,比如性能?它有什么优点吗?

0 投票
3 回答
10397 浏览

c# - C# 数据绑定不更新 WPF

我正在尝试在后面的 C# 代码而不是 XAML 中进行数据绑定。在 Expression Blend 2 中创建的 XAML 绑定到我的 CLR 对象工作正常。我的 C# 实现仅在应用程序启动时更新,之后对 CLR 的后续更改不会更新我的标签内容。

这是有效的 XAML 绑定。首先在我的 Window.Resources 中创建了一个 ObjectDataProvider。

和标签内容绑定:

效果很好。但我们希望在 C# 中进行此设置,以便我们可以独立更改 XAML(即新皮肤)。我的一次工作 C# 如下:

这是在 InitializeComponent(); 之后的我的 MainWindow 内。

任何见解为什么这只适用于启动?

0 投票
8 回答
24753 浏览

.net - 从页面后面的代码调用用户控件中的函数

现在这一切都被简化了,但这里是:

我有一个仅包含一个 *.ascx 文件的用户控件。该控件没有代码隐藏:它只是一个带有一些函数的脚本,如下所示:

这就是整个文件。我可以使用如下标记成功将此控件添加到 aspx 页面:

现在我想做的是从页面的代码隐藏中调用 MyFunction ,如下所示:

不幸的是,我不能那样做。相反,我得到一个编译错误,效果是“ 'MyFunction' is not a member of 'System.Web.UI.UserControl'.

我也试过这个:

然后编译器告诉我,“ Type 'MyControlType' is not defined.

我已经玩了很多次,但我就是无法让它发挥作用。将 MyControl1 转换为更精确类型的所有努力都失败了,其他解决方法也是如此。我怀疑问题是没有代码隐藏的 ascx 文件无法编译为程序集,但代码隐藏想要编译为程序集,因此编译器对控件的类型感到困惑。

我需要做什么才能调用该函数?

[编辑]
所以我只需要为用户控件添加代码隐藏。无论如何,这是我想做的。不过,我仍然想知道如何在不需要的情况下做到这一点。

0 投票
4 回答
1950 浏览

asp.net - Set table cell color from database

I'm overthinking this. I have colors stored in a database table, and I want to set the background of specific cells in a table to those colors. In other words:

Originally I had Panels surrounding each piece of content and I set their background color in the code-behind, which worked fine until I had varying size panels, which threw off the layout. What's the easiest way to feed the color values from the database to the <td> element? Note that the colors are user-configurable, so I can't have them pre-defined in a CSS file.

0 投票
3 回答
3757 浏览

c# - 使用代码隐藏从位图变量显示图像

我希望创建一个非常简单的网络应用程序,它只是根据日期(来自日历点击事件)或关键字搜索显示来自数据库的图像,获取图像没有问题,但我不'不知道如何显示结果图像。最好我想在表格或网格或其他任何东西中显示图像,与我用来获取搜索条件的同一页面上的日历和文本框相邻

那么如何将图像从代码隐藏位图变量流式传输到页面?

编辑:该数据库是云数据库,因此数据绑定已失效。

0 投票
4 回答
493 浏览

visual-studio - Visual Studio 2005 停止添加代码隐藏文件

今天早上,当我尝试向我的项目中添加一个新的 ASPX 页面时,Visual Studio 决定我不再需要任何与之关联的 .CS 文件。尝试添加 Web 控件会产生相同的结果:没有 .cs 的 .ascx 文件。到目前为止,我有两个问题:

  1. 考虑到周末没有对系统进行任何更改,这可能是什么原因?
  2. 现在重新安装VS是唯一的选择吗?

我在 Windows XP SP3 上运行 Visual Studio 2005 SP1。

谢谢!

编辑:谢谢大家。复选框在某些时候没有被选中,我根本没有看到它。我将在星期一责怪这个...

0 投票
2 回答
1269 浏览

.net - 从 VS 2008 网站转换为 Web 应用程序项目

我正在将 VS 2008 网站转换为 Web 应用程序项目。我已按照MSDN网站上的说明进行操作,但现在遇到了一大堆奇怪的错误。我应该提一下,大约一周前我为另一个项目做了这个,没有任何问题。我得到的错误是:

“XXX”类型已包含“XXX”的定义。

此错误适用于后面代码中的每个私有成员或方法。我的网站目前有 218 个这样的错误。

想法?

编辑:我想我会补充一点,我确实看到了这个 ASP.NET 论坛关于类似问题的帖子,他们修复它的方法是将所有代码隐藏推送到一个单独的类库。虽然我确信这会奏效,但在我看来它可能只是某个地方的简单设置时,这将是大量的工作。

0 投票
5 回答
5475 浏览

asp.net-mvc - ASP.NET MVC RC - 使用代码隐藏创建 MVC 用户控件

试图在候选版本中创建一个 MVC 用户控件,但我看不到使用代码隐藏文件创建一个。MVC 视图页面也是如此。

在 Beta 中创建视图会产生代码隐藏……我错过了什么吗?

0 投票
6 回答
6870 浏览

.net - 如何为 RC1 中的 ASP.NET-MVC 视图获取默认创建的“代码隐藏”文件

在 RC1 中,用于创建视图的模板的行为发生了变化。

正如 Scott Gu 关于发布候选版本的帖子所解释的那样,默认情况下,新创建的 aspx 视图不再具有代码隐藏文件。

根据反馈,我们已将视图模板更改为默认没有代码隐藏文件。此更改有助于加强 MVC 应用程序中视图的用途(旨在纯粹用于渲染并且不包含任何非渲染相关代码),并且对于大多数人来说消除了项目中未使用的文件。

RC 版本现在添加了 C# 和 VB 语法支持,用于从使用泛型的基类继承视图模板。例如,下面我们将其与 Edit.aspx 视图模板一起使用——其“inherits”属性派生自 ViewPage 类型:

我真的很喜欢能够在代码隐藏中编写特定于视图的代码来输出视图 - 特别是如果我在页面的几个部分重复逻辑,我无法证明创建部分视图是合理的。

我的实际问题:斯科特默认说- 这意味着我可以改变这种行为,但我似乎看不到在哪里。是否可以?手动创建一个代码隐藏文件并改变周围的东西是一种痛苦。

这也会导致另一个问题:

  • 如果我重构模型的名称,则视图中的指令不会更新。这不是世界末日,而是完全强类型化的一个明显优势。

附录:对于那些想知道为什么我想要代码隐藏的人,这里有一些可能的原因。这是我所想到的几乎所有内容的累积列表。不言而喻(应该如此),除了模型中已有的数据之外,您不得访问任何数据。LINQ 可以用于模型数据的简单操作,但 LINQ to SQL 则不行!MVC 适用于应该已经知道这一点的人——这就是我喜欢它的原因——由聪明的人为聪明的人制作。

  • 数据绑定旧版 ASP.NET 控件 - 如果替代方案不可用或需要临时解决方案。
  • 查看需要递归以创建某种嵌套或分层 HTML 的逻辑。
  • 查看使用临时变量的逻辑。我拒绝在我的标签汤中定义局部变量!我至少希望它们作为视图类的属性。
  • 仅特定于一个视图或模型且不属于 HtmlHelper 的逻辑。作为旁注,我认为 HtmlHelper 不应该知道任何“模型”类。IEnumerable<Product>如果它知道模型中定义的类(例如ProductModel.
  • 当您键入时,HtmlHelper 方法最终会从您的所有视图中可见Html+dot,我真的想尽可能地最小化这个列表。
  • 如果我想编写代码,使用HtmlGenericControl该命名空间中的其他类以面向对象的方式生成我的 HTML(或者我有执行我想要移植的现有代码)。
  • 如果我打算将来使用不同的视图引擎怎么办。我可能希望将一些逻辑保留在标签汤之外,以便以后更容易重用。
  • 如果我希望能够重命名我的模型类并让它自动重构我的视图,而无需转到 view.aspx 并更改类名,该怎么办?
  • 如果我正在与一个我不信任的 HTML 设计师协调,他不会弄乱“标签汤”,并且想要在 .aspx.cs 文件中编写除非常基本的循环之外的任何内容。

我认为人们对“代码隐藏”有偏见,因为它传统上被解释为“事件处理代码”,而不是“视图部分类的另一半”。

视图的代码隐藏很好。

我并不反对它会使文件夹结构有些混乱,但这就是+图标的用途。我只希望能够使用“添加视图”创建带有代码隐藏的视图。

0 投票
3 回答
330 浏览

asp.net - .net开发动态创建的控件需要自己的方法

我敢肯定,几乎每个在 .net 中编程的人都遇到过与动态创建按钮类似的问题。

示例场景..

我有一个gridview,并且在其中一个gridview 字段中我有一个按钮。通常在 .net 中使用 Visual Studio,您可以轻松获取按钮的单击事件,但是由于这些按钮是动态创建的,因此它们并不容易获取。我很好奇获取按钮点击事件的最佳方法是什么。

我理解它可以使用 dopostback;但是,我不确定如何实现它,也没有尝试过,因为我也读过 dopostback 方法不是一个很好用的方法。这是为什么?