标签: user-controls

我的控件是"这里不允许,因为它没有扩展类'System.Web.UI.UserControl'"

所以我还有另一个面条(对我而言).

我正在尝试在CMS中创建自己的自定义控件我只有部分源代码(即供应商提供给我的样本).基本上我已经创建了一个名为DataDefinitionContentextends 的类ControlBase.现在,从我从元数据中获取的东西,ControlBase扩展UserControl,所以我会认为这将没有戏剧性.任何人都可以解释为什么这可能不适合我?


我的课:

public partial class DataDefinitionContent : ControlBase, ICustomControl<DataDefinition>
{
... Stuff
}
Run Code Online (Sandbox Code Playgroud)

ControlBase:

using System;
using System.Web.UI;
namespace CMS.Web
{
    public class ControlBase : UserControl
    {
    ... Stuff
    }
}
Run Code Online (Sandbox Code Playgroud)

我的ascx文件:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="DataDefinitionContent.ascx.cs"
    Inherits="CMS.Admin.WebUI.CustomControls.DataDefinitionContent, CoA.Admin.WebUI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" %>
Run Code Online (Sandbox Code Playgroud)

我得到的错误:

解析器错误消息:此处不允许使用'CMS.Admin.WebUI.CustomControls.DataDefinitionContent,CoA.Admin.WebUI,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null',因为它不扩展类'System.Web. UI.UserControl".

第1行:<%@ Control Language ="C#"AutoEventWireup ="true"CodeBehind ="DataDefinitionContent.ascx.cs"

c# user-controls custom-controls extend

14
推荐指数
2
解决办法
3万
查看次数

MVVM - 用户控制相互通信的理想方式是什么

我有一个用户控件,其中包含其他几个用户控件.我正在使用MVVM.每个用户控件都有一个相应的VM.这些用户控件如何相互发送信息?我想避免在后面的xaml代码中编写任何代码.特别是我对控件(主用户控件内部)如何相互通信以及如何与容器用户控件进行通信感兴趣.

编辑:我知道使用事件代表将帮助我解决这个问题.但是,我想避免在xaml代码隐藏中编写任何代码.

c# wpf user-controls mvvm

14
推荐指数
3
解决办法
9005
查看次数

在IE中托管的usercontrol呈现为文本框

在我正在进行的传奇中,我想要在一个干净的盒子上托管遗留应用程序,我已经遇到了下一个问题.一个页面依赖于一个大的.NET UserControl,它在新机器上只呈现为一个大的,灰色的textarea(右边缘的灰色垂直滚动条.检查源显示预期的object标记.)

这特别棘手,因为似乎没有人知道托管的UserControls和所有讨论数据回到2002-2004.

页面很简单:

<%@ Page language="c#" Codebehind="DataExport.aspx.cs" AutoEventWireup="false" Inherits="yyyyy.Web.DataExport" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > 

<html>
  <head>
    <title>DataExport</title>
    <link rel="Configuration" href="/xxxxx/yyyyy/DataExport.config">
  </head>   
    <body style="margin:0px;padding:0px;overflow:hidden">
        <OBJECT id="DataExport" style="WIDTH: 100%; HEIGHT: 100%; position:absolute; left: 0px; top:0px"
            classid="yyyyy.Common.dll#yyyyy.Controls.DataExport"
             VIEWASTEXT>
        </OBJECT>
    </body> 
</html>
Run Code Online (Sandbox Code Playgroud)

引用的配置文件:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <sectionGroup name="yyyyy">
            <section name="dataExport" type="yyyyy.Controls.DataExportSectionHandler,yyyyy.Common" />
        </sectionGroup>
    </configSections>
    <yyyyy> 
        <dataExport>
            <layoutFile>http://vm2/xxxxx/yyyyy/layout.xml</layoutFile>      
            <webServiceUrl>http://vm2/xxxxx/yyyyy/services/yyyyy.asmx</webServiceUrl>
        </dataExport>   
    </yyyyy>    
</configuration>
Run Code Online (Sandbox Code Playgroud)

我检查了什么:

  • 安全权限应该没问题,站点是可信的,并且添加URL例外以授予FullTrust不会更改任何内容.
  • 配置文件可通过Web访问,layout.xml可访问,ASMX显示预期的命令列表
  • Machine.config为usercontrol.config文件授予GET权限.

对我来说可能看起来很可疑:

  • DataExport UserControl引用Aspose.Excel来生成它导出的电子表格.
  • 当我导航到页面并获得一个空白文本框,然后运行时gacutil /ldl,本地下载缓存中没有任何内容.在工作机器上,在查看页面后运行相同的命令显示包括控制DLL和Aspose DLL的DLL的清单.

asp.net user-controls aspose

14
推荐指数
1
解决办法
354
查看次数

无法创建组件..类型未标记为可序列化

我正在使用Visual C#2008 Express Edition创建WinForms用户控件.

一切都很顺利,直到我发现我可以List<>从属性窗口玩一个集合属性.在尝试更改集合并运行项目之后,我开始遇到错误并尽力将所有内容恢复到工作时的状态.

现在,当我尝试将控件的实例放在表单上时,我收到以下错误.

Failed to create component 'ColorPicker'.  The error message follows:
'System.Runtime.Serialization.SerializationException: Type 'WindowsFormsApplication1.ColorPicker+ColorData' in Assembly 'Test, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' is not marked as serializable.
   at System.Runtime.Serialization.FormatterServices.InternalGetSerializableMembers(RuntimeType type)
   at System.Runtime.Serialization.FormatterServices.GetSerializableMembers(Type type, StreamingContext context)
   at System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitMemberInfo()
   at System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitSerialize(Type objectType, ISurrogateSelector surrogateSelector, StreamingContext context, SerObjectInfoInit serObjectInfoInit, IFormatterConverter converter)
   at System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.Serialize(Type objectType, ISurrogateSelector surrogateSelector, StreamingContext context, SerObjectInfoInit serObjectInfoInit, IFormatterConverter converter)
  at System.Runtime.Serialization.Formatt...'
Run Code Online (Sandbox Code Playgroud)

在解除此错误后,我开始反复出现以下错误,直到我使用任务管理器关闭Visual C#.

Code generation for property 'PaletteColors' failed.  Error was: 'Type 'WindowsFormsApplication1.ColorPicker+ColorData' in Assembly 'Test, …
Run Code Online (Sandbox Code Playgroud)

c# serialization user-controls winforms

14
推荐指数
1
解决办法
2万
查看次数

实时预览降价编辑器

请原谅我这是否已得到回答.我环顾四周,但没有找到任何东西.

我正在为非技术人员创建一个网站,它要求他们能够添加富文本内容.我一直在寻找Markdown,并希望使用它.

我一直在寻找一个很好的(jquery)ui控件来使编辑变得简单,但我所看到的一切都有实时预览生活在页面上除了输入框之外的其他地方.(WMD就像这样,标记等......)

我想使用一些让你觉得使用文字处理器的东西.就像TinyMCe一样,但是在Markdown上运行,而不是HTML

有没有类似的东西,或者某个地方可以展示如何构建它?


为了澄清,我正在寻找一个编辑器,让你觉得你正在输入实时预览; 不是具有上/下预览的文本框.

markdown user-controls

14
推荐指数
2
解决办法
3419
查看次数

每当我将其添加到表单时,我的UserControl都会使Visual Studio崩溃

我写了一个小的System.Windows.Forms.UserControl,调用它userControl1,似乎按照我想要的方式工作.

在Visual Studio 2010的Designer中,我可以userControl1从工具栏拖动并将其放在我将调用的Windows窗体上testForm1.我可以连线userControl1,它可以正常工作.

但是,目的userControl1是能够在另一个UserControl中使用它,让我们调用它userControl2.

在Visual Studio 2010的Designer中,如果我userControl1从工具栏拖动并将其拖放到其中userControl2,Visual Studio 2010将崩溃,除了重新启动之外没有任何消息.

截图

同时,在事件ID为1000的事件查看器中记录应用程序错误:

Faulting application name: devenv.exe, version: 10.0.40219.1, time stamp: 0x4d5f2a73
Faulting module name: unknown, version: 0.0.0.0, time stamp: 0x00000000
Exception code: 0xc00000fd
Fault offset: 0x0965f816
Faulting process id: 0x1580
Faulting application start time: 0x01cd90f84338e443
Faulting application path: C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe
Faulting module path: unknown
Report Id: 49ddcedf-fcf8-11e1-8016-00248103a942 …
Run Code Online (Sandbox Code Playgroud)

c# user-controls visual-studio-2010 winforms

14
推荐指数
1
解决办法
6141
查看次数

在FlowLayoutPanel中插入Usercontrol

我有FlowLayoutPanel几个UserControl.现在我希望一个控件始终位于我的底部FlowLayoutPanel.所以我想将我的UserControl添加到最低控件之上.有一种简单的方法可以在用户控件中插入FlowLayoutPanel吗?

我正在考虑删除底部的控件,添加我想要添加的控件并再次添加底部控件.但我不认为这是最好的方式.这里有没有人可以帮我提供一些如何做到这一点的信息?

.net c# user-controls flowlayoutpanel winforms

14
推荐指数
1
解决办法
9288
查看次数

依赖属性 - 成员无法识别或无法访问

我创建了一个UserControl并在其中定义了一个依赖属性Label.当我在控件中引用它时,我得到了错误The member "Label" is not recognised or is not accessible.我不明白的是,它在Windows手机上运行完美,但在将应用程序移植到Windows 8后,它会出现此错误.是否有不同的东西要做Windows 8用户控件?请帮忙.

user-controls dependency-properties microsoft-metro windows-8

14
推荐指数
1
解决办法
6626
查看次数

如何解决和调试Visual Studio设计模式错误?

使用Windows 7和Visual Studio 2010,我正在编写一个C#自定义UserControl.我在代码视图中进行了数周的编码,最近当我尝试切换到设计模式时,Visual Studio被绞死,"没有回应".我可以等一个小时,但仍然没有任何反应.单击关闭按钮,它会显示"您是否要等待,关闭,重新启动并向Microsoft发送信息"对话框.

有没有办法(堆栈)跟踪设计者试图执行的代码?也许设计时跟踪消息或断点?

.net user-controls design-time visual-studio-2010 winforms

14
推荐指数
2
解决办法
1万
查看次数

动态地将行/列添加到网格中

我有一个孩子,UserControl包括多个文本框,标签,图像等.我需要在具有网格的父用户控件中填充此用户控件.

需要在父用户控件中填充的子用户控件的数量在运行时确定,并且可以更改.基本上,数量取决于搜索结果.所以它可以从0到n.

如何在父控件中填充我的子用户控件?或者是否有更好的替代方法来使用网格控件?

注意:我必须在我的ViewModel中执行此操作.

wpf grid xaml user-controls dynamic

14
推荐指数
1
解决办法
4万
查看次数