标签: webusercontrol

从用户控件调用父页面中的方法

我在aspx页面中注册了一个用户控件在用户控件中单击按钮事件时,如何调用父页面代码隐藏中的方法?

谢谢.

c# asp.net user-controls webusercontrol

39
推荐指数
4
解决办法
8万
查看次数

如何将Template添加到UserControl?

之前已经问过这个问题

但再次问它并没有坏处:

如何UserControl在ASP.net中添加模板?

到目前为止还没有奏效

  1. 从一个新的UserControl5开始,我打电话给Contoso:

    public partial class Contoso: System.Web.UI.UserControl
    {
    }
    
    Run Code Online (Sandbox Code Playgroud)

    这将允许我们使用新的控件:1

    <Contoso>
        Stuff in here
    <Contoso>
    
    Run Code Online (Sandbox Code Playgroud)
  2. 创建一个ContentTemplate类型为的公共属性ITemplate:

    public partial class Contoso: System.Web.UI.UserControl
    {
       public ITemplate ContentTemplate { get; set; }
    }
    
    Run Code Online (Sandbox Code Playgroud)

    并向属性添加不确定数量的属性ContentTemplate:2

    //[ParseChildren(true)]
    [ParseChildren(true, "ContentTemplate")]
    //[ParseChildren(false)]
    public partial class Contoso: System.Web.UI.UserControl
    {
       [TemplateContainer(typeof(ContentContainer))]
       [TemplateInstance(TemplateInstance.Single)]
       [PersistenceMode(PersistenceMode.InnerProperty)]   
       //[PersistenceMode(PersistenceMode.InnerDefaultProperty)] 
       [Browsable(true)]
       //[Browsable(false)]
       [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
       //[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
       public ITemplate …
    Run Code Online (Sandbox Code Playgroud)

asp.net user-controls templating webusercontrol

21
推荐指数
1
解决办法
7920
查看次数

ASP.NET错误:页面Y.ascx无法使用用户控件X.ascx

尝试在Visual Studio 2010中构建网站项目时,我收到以下错误:

页面'/WebSite/controls/C2.ascx'不能使用用户控件'/WebSite/controls/C1.ascx',因为它在web.config中注册并与页面位于同一目录中.

我有2个Web用户控件:

controls/C1.ascx
controls/C2.ascx
Run Code Online (Sandbox Code Playgroud)

控件已在web.config中注册:

<configuration>
    <system.web>
        <pages>
            <controls>
                <add src="~/controls/C1.ascx" tagPrefix="my" tagName="C1"/>
                <add src="~/controls/C2.ascx" tagPrefix="my" tagName="C2"/>
            </controls>
        </pages>
    </system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)

C1.ascx只包含一个静态HTML,C2.ascx试图包含C1:

C1.ascx只包含一些简单的静态简单HTML.C2.ascx试图包含C1.ascx:

<%@ Control Language="VB" %>
<my:C1 runat="server" />
<p>Hello from C2</p>
Run Code Online (Sandbox Code Playgroud)

在尝试构建项目时,我收到顶部的错误消息.我意识到可以通过向C2.ascx添加另一个Register指令来修复此问题...:

<%@ Register Src="~/controls/C1.ascx" TagPrefix="ctl" TagName="C1" %>
Run Code Online (Sandbox Code Playgroud)

...但我想知道是否有更清洁的解决方案,为什么我首先得到错误?

asp.net ascx webusercontrol

17
推荐指数
2
解决办法
7629
查看次数

无法以网络用户身份运行oowriter

我的笔记本电脑上安装了一个Web服务器.我正在构建一个我通过本地网络访问的Web应用程序.我有一个php文件,其中包含以下行:

$command = "/usr/bin/oowriter --invisible --convert-to pdf /var/www/hackathon/document/gaurav.doc -outdir /var/www/hackathon/pdf/"
exec($command, $output, $return_var);
print_r($output);
Run Code Online (Sandbox Code Playgroud)

所以,问题是当我在终端上运行上面的代码时,php运行完美.但是当通过Web浏览器访问时,输出只是空的,并且没有按预期进行转换.

Apache错误日志显示以下行:

[Java framework]函数createSettingsDocument(elements.cxx)中的错误.
javaldx失败了!
警告:无法从javaldx读取路径

我尝试过https://wiki.archlinux.org/index.php/Libreoffice#Fixing_Java_Framework_Error的解决方案.但它没有用.

我正在使用OpenJDK 7.

有没有人知道如何使这项工作?

ubuntu openjdk webusercontrol libreoffice

10
推荐指数
3
解决办法
4423
查看次数

如何在aspx页面中隐藏ASP.NET自定义控件的属性?

我正在编写ASP.NET自定义控件,我希望它有一些属性,这些属性只能在运行时从代码中看到 - 我的意思是,这些属性在设计器和aspx代码中都不应该是可见的包含此控件的页面.我试过使用以下属性:

[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
[Browsable(false)]
public List<Item> SomeData { ... }

但不幸的是,在编辑aspx页面时,这个属性在Intellisense组合框中仍然可见.是否可以在服务器端代码之外的任何地方隐藏此属性?

asp.net properties webusercontrol

7
推荐指数
1
解决办法
2366
查看次数

使用LoadControl以编程方式加载用户控件(Type,Object())

我正在动态地向页面添加Web用户控件.使用LoadControl仅采用指向.ascx工作的虚拟路径的方法非常好.然而,过载LoadControl需要一个类型和一个参数数组引起了一些令人头疼的问题.

Web用户控件按预期实例化,但Web用户控件中包含的控件为null,一旦我尝试使用它们就会出现异常.很奇怪,因为它在使用第一版时起作用LoadControl.

Web用户控件,简单,带Literal控件:

<%@ Control Language="vb" AutoEventWireup="false" CodeBehind="MyControl.ascx.vb" Inherits="MyControl" %>
<asp:Literal ID="myLiteral" runat="server"></asp:Literal>
Run Code Online (Sandbox Code Playgroud)

控件的代码背后:

Public Class MyControl
  Inherits System.Web.UI.UserControl

  Public Property Data As MyData  

  Public Sub New()

  End Sub

  Public Sub New(data As MyData)
    Me.Data = data
  End Sub

  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    myLiteral.Text = Data.ID ' The Literal is null, but ONLY when I use the second LoadControl() method!
  End Sub …
Run Code Online (Sandbox Code Playgroud)

.net vb.net webusercontrol

7
推荐指数
1
解决办法
5443
查看次数

C#Webforms VB.NET中的用户控件

我有一个现有的VB.NET Web项目,需要一些新的屏幕(webforms).由于多种原因,这些新屏幕将在C#中开发.已经有一个读围绕看来这确实是可能的:增加C#Web窗体VB Web应用程序,并添加C#用户控件现有的asp.net vb.net项目

不过我做了一个小测试:

  1. 包含VB WebForms应用程序项目的VB.NET解决方案
  2. 在解决方案中添加了一个新的C#ASP.NET项目
  3. 在C#程序集中创建Web用户控件
  4. 在Default.aspx中引用和使用Web用户控件1.

问题是用户控件没有显示在页面上.我在这里错过了什么 这是VB.NET WebForms应用程序中无法实现的吗?以下是相关代码:

Default.aspx的

<%@ Page Title="Home Page" Language="VB" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.vb" Inherits="waWithCUserControl._Default" %>
<%@ Register TagPrefix="uac" Namespace="waUserControls" Assembly="waUserControls" %>

<asp:Content runat="server" ID="BodyContent" ContentPlaceHolderID="MainContent">
    <uac:UcTakeTest ID="myUserControl" runat="server" />
</asp:Content>
Run Code Online (Sandbox Code Playgroud)

用户控制在单独的程序集waUserControls中

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ucTakeTest.ascx.cs" Inherits="waUserControls.UcTakeTest" %>
<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet">
<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>
<link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css" rel="stylesheet">

    <div class="container">
        <div class="row">
            <div class="col-md-2">
                <div class="list-group">
                    <a href="#" class="list-group-item active">Question</a>
                    <a href="#" class="list-group-item">Question</a>
                    <a href="#" class="list-group-item">Question</a>
                    <a href="#" class="list-group-item">Question</a>
                    <a …
Run Code Online (Sandbox Code Playgroud)

c# vb.net asp.net webforms webusercontrol

7
推荐指数
1
解决办法
1546
查看次数

从代码中获取变量值并在aspx页面控件中使用

我有一个Web用户控件,我有控件需要从底层页面的变量或属性中提供一些数据.

<%@ Control Language="C#" AutoEventWireup="False" CodeFile="Header.ascx.cs" Inherits="Site.UserControls.Base.Header" %>
<asp:Literal runat="server" Text='<%# Testing %>' id="ltrTesting" />
Run Code Online (Sandbox Code Playgroud)

代码隐藏

namespace Site.UserControls.Base
{
    public partial class Header : UserControlBase
    {
        public string Testing = "hello world!";

        protected void Page_Load(object sender, EventArgs e)
        {
            //this.DataBind(); // Does not work
            //PageBase.DataBind(); // Does not work
            //base.DataBind(); // Does not work
            //Page.DataBind(); // Does not work
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我确实读过这个主题,但它不会解决我的问题,我认为这是因为这是一个用户控件,而不是一个页面.我想从代码中获取属性值

c# data-binding webusercontrol

6
推荐指数
2
解决办法
5万
查看次数

将现有任务窗格添加到新邮件 - Outlook

我有一个Outlook任务窗格,当您打开Outlook时打开,我已使用此方法添加此窗格.

https://msdn.microsoft.com/en-us/library/aa942846.aspx

我使用此处给出的示例显示并隐藏任务窗格:

https://msdn.microsoft.com/en-us/library/bb608590.aspx

因此,当用户点击切换按钮时,这适用于电子邮件.但是,我在Outlook的"新邮件消息"窗口中添加了另一个功能区控件,我希望同一个任务窗格也可以在该窗口的一侧使用.我设法创建另一个功能区控件(设计器)并添加了这个新按钮但是当我切换它时,它不会在新邮件消息窗口上打开任务窗格.它仅切换收件箱中可用的现有任务窗格窗口.

新邮件功能区控件的代码:

Imports Microsoft.Office.Tools.Ribbon
Imports Outlook = Microsoft.Office.Interop.Outlook
Imports Microsoft.Office.Tools

Public Class ComposeSidebarRibbon

    Private Sub ComposeSidebarRibbon_Load(ByVal sender As System.Object, ByVal e As RibbonUIEventArgs) Handles MyBase.Load

    End Sub

    Private Sub SidebarToggleButton_Click(sender As Object, e As RibbonControlEventArgs) Handles SidebarToggleButton.Click
        Globals.ThisAddIn.TaskPane.Visible = TryCast(sender, Microsoft.Office.Tools.Ribbon.RibbonToggleButton).Checked
    End Sub
End Class
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?

vb.net user-controls webusercontrol outlook-vba outlook-addin

6
推荐指数
1
解决办法
148
查看次数

我可以在MVC网站中使用Asp.Net WebForm用户控件吗?

我有一个asp.net 4.0的网站,有10个页面和12个用户控件.

现在我想在asp.net MVC 4.0中迁移这个站点; 因此,我可以重新使用这些用户控件(在传统的asp.net中存在)并使用它们进行渲染<%= Html.RenderUserControl() %>.

简而言之,我的问题是我们是否可以在asp.mvc 4中使用asp.net的用户控件

非常感谢,

JIgar

asp.net asp.net-mvc user-controls webusercontrol asp.net-mvc-4

5
推荐指数
1
解决办法
7622
查看次数