标签: custom-server-controls

ASP.NET在嵌套在更新面板中的用户控件中注入javascript

我正在尝试在更新面板的asyncron回发期间通过Page.LoadControl方法将带有用户Web控件的JavaScript代码加载到页面中.

我已经尝试过专门为那个场景设计的scriptmanager方法,但是javascript只是不会返回给用户.

为了更好地解释我的情景:

Master Page具有脚本管理器,并且在异步回发期间,一个页面通过Page.LoadControl方法加载用户控件.自定义控件在预渲染事件处理程序中注入javascript.这是注入js的时间问题还是不可能这样做?

javascript asp.net updatepanel custom-server-controls

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

.Net Repeater等效于单个对象?

有人可以尝试推荐解决以下请求的最佳原因:

我使用Repeater类作为Base创建了许多扩展类,并且喜欢这样做的灵活性,易用性和结果.我现在要做的是为单个对象(即不实现IListSource或IEnumerable的DataSource)制作类似的自定义Web控件.我已经创造了什么,我尝试使用1项的列表来保存对象,然后绑定设置数据源时延长中继器,然后实现结构.

e.g a rough example:

    Dim oObj as New MyObject(1)
    Dim gl As New Generic.List(of MyObiect)()
    gl.Add(oObj)
    rpt.DataSource = gl
    rpt.DataBind()
Run Code Online (Sandbox Code Playgroud)

这似乎是一件小事,我希望能做的是以下几点:

e.g new call, where my control is the new custom control:

    Dim oObj as New MyObject(1)
    myControl.DataSource = oObj 
    myControl.DataBind()
Run Code Online (Sandbox Code Playgroud)

我希望能够使用各种变量和属性定义此自定义控件,其结果将启用以下类型的布局:

<My:ObjControl ID="frm" runat="server">
    <Tabs>
        <My:Tab name="Details">
            <Items>
                <My:Item Type="Text" Label="First Name" Property="FirstName" />
                <My:Item Type="Text" Label="Last Name" Property="LastName" />
                <My:Item Type="Text" Label="Title" Property="Title" />
            </Items>
        </Tab>
        <My:Tab name="Address">
            <Items>
                <My:Item Type="Text" Label="Address 1" Property="Address1" />
                <My:Item …
Run Code Online (Sandbox Code Playgroud)

.net webforms repeater custom-server-controls

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

访问构造函数asp net中的WebControls可标记属性

这是我的自定义控件.它继承了WebControl类的[Height]属性.我想在构造函数中访问它来计算其他属性.但它的值总是为0.任何想法?

    public class MyControl : WebControl, IScriptControl
{

    public MyControl()
    {
       AnotherProperty = Calculate(Height);
       .......
    }
Run Code Online (Sandbox Code Playgroud)

我的aspx

       <hp:MyControl   Height = "31px" .... />  
Run Code Online (Sandbox Code Playgroud)

asp.net custom-server-controls

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

减少在视图状态属性中保存的代码行

我有一个自定义服务器控件,它有很多属性 - 每个属性都在viewstate中保存它们的状态:

    public Color XXX
    {
        get
        {
            return (Color)ViewState["XXX"];
        }
        set
        {
            ViewState["XXX"] = value;
        }
    }
Run Code Online (Sandbox Code Playgroud)

这需要很大的空间 - 有没有办法减少代码中的行数?

c# asp.net custom-server-controls

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

从Control派生的ASP.NET自定义控件中渲染自闭合标记

我正在开发一个Facebook FBML控件库,并希望创建我的FBML控件,有点像ASP.NET WebControls库.我有一个默认处理渲染的基类; 这是我的渲染方法:


        protected override void Render(HtmlTextWriter writer)
        {
            AddAttributesToRender(writer);

            if (UseXfbmlSemantics)
            {
                writer.RenderBeginTag(ElementName);
                writer.EndRender();
                writer.RenderEndTag();
            }
            else
            {
                writer.RenderBeginTag(ElementName);
                writer.RenderEndTag();
            }
        }
Run Code Online (Sandbox Code Playgroud)

我想要的是基于UseXfbmlSemantics修改渲染 - 如果它是真的,它应该渲染,例如:

<fb:name uid="10300399458"></fb:name>
Run Code Online (Sandbox Code Playgroud)

当它为假时,它应该使用自闭标签呈现:

<fb:name uid="10300399458" />
Run Code Online (Sandbox Code Playgroud)

我可以让"真实"条件几乎正确地工作,但自动关闭标签似乎与Render-方法集不兼容.不幸的是,如果是这种情况,它也意味着AddAttributesToRender模式也不起作用.它实际产生的是:


        <fb:name uid="10300399458">

        </fb:name>
Run Code Online (Sandbox Code Playgroud)

我怎样才能获得HtmlTextWriter(或者我需要使用哪个HtmlTextWriter)来使它呈现自闭标签?或者,至少,我怎样才能使它不呈现临时空间(以便开始和结束标签紧挨着彼此)?

c# asp.net facebook custom-server-controls

4
推荐指数
2
解决办法
4821
查看次数

通用ServerControl语法?

有没有办法让我有一个服务器控件

MyControl<T>
Run Code Online (Sandbox Code Playgroud)

这样我就可以在aspx页面中注册并使用它

<mc:MyControl<ThingForControlToUse> ID="instanceOfMyControl" runat="server"
Run Code Online (Sandbox Code Playgroud)

显然设计师不喜欢这样,除了创建一个带有类型参数的非通用包装外,还有什么好的方法吗?

c# asp.net generics custom-server-controls

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

Viewstate vs Postback

我想回答我自己的问题,但我想确保我正确理解.我最初认为当用户在表单中提供值时,在回发时,值是作为Viewstate的一部分提交的,因为TextBox.Text是viewstate的一部分.现在我发现用户提供的值实际上不会在OnLoad事件之后应用于控件.这使我感到困惑,因为我认为viewstate在OnLoad之前(或调用Controls.Add()时)被加载到控件中.我已经浏览了页面上的文档并控制了生命周期几次,我现在才意识到处理回发数据有不同的步骤(这一步没有出现在很多文档中:(

1)因此,在OnLoad事件之后应用用户在字段中输入的值的回发数据,并且在OnLoad事件之前应用Viewstate数据?

2)基本上所有这些意味着在回发时服务器获取TextBox.Text属性的两个值,Viewstate中的属性,就像前一个请求中的"旧"值,以及用户提供的新值.表格?

3).net框架是否应用与Viewstate相同的回发数据,因为它通过它的ID属性找到适当的控件?这很重要,因为我正在动态创建控件,我甚至可能有超时更改结构的表单,需要考虑如何处理ID.到目前为止,我还没有设置ID属性,一切正常,但事情可能会更复杂.

4)在客户端根本没有修改viewstate数据吗?或者视图状态与服务器在先前请求中发送的内容相同(假设没有篡改)?我的印象曾经是服务器将所有控件属性编码到视图状态中,而在客户端提交表单时,视图状态字段被解码,修改,编码并提交给服务器并进行修改.我假设有一堆javascript为我做这一切.现在我觉得我错了.相反,Viewstate似乎永远不会在客户端更改,并且所有客户端更改都在回发数据中,以便下一个请求服务器加载视图状态,加载回发,并在下一个响应中提供新的更新视图状态?

asp.net custom-server-controls page-lifecycle

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

必须是ASP.NET服务器控件属性属性

我有一个CustomControl带有属性属性的自定义ASP.NET服务器控件Path.

如果Path没有明确指定,那么我想要抛出异常.

例如,

<myControls:CustomControl Path="somedirectory/someotherdirectory/somefile.ext" runat="server" />

应该编译,和

<myControls:CustomControl runat="server" /> 应该抛出异常.

我意识到我可以在Path属性的getter中做到这一点,但是有一些属性需要这个吗?

更新

除了在代码隐藏属性的getter方法中使用之外,是否有任何机制可以验证属性属性的值?

asp.net custom-server-controls servercontrols asp.net-controls

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

是否可以强制WebControl呈现为<div>而不是<span>?

我如何强制WebControl渲染为<div>?目前,它呈现为一个<span>,我们的UI人更喜欢它<div>.为了容纳他,我想看看这是否可能,如果是的话,我怎么可能.

html asp.net custom-server-controls .net-3.5

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

ASP.net每周进度控制

任何人都可以推荐一个免费的asp.net控件,我可以用于以下内容:

  • 平日周一至周六沿着顶行
  • 左手边的时间
  • 实际数据的模板字段
  • Databindable
  • 单元格根据开始时间和结束时间跨越行

这是一个控件,我发现这是非常好的,但我试图找到替代品:数据 绑定计划控件

asp.net data-binding custom-server-controls scheduling servercontrols

3
推荐指数
1
解决办法
5474
查看次数