【问题标题】:Using an integer value from behind code to set attribute in control embedded in a user control使用代码后面的整数值来设置嵌入在用户控件中的控件中的属性
【发布时间】:2011-12-02 11:07:12
【问题描述】:

我一直在尝试开发一些用户控件,其中一个是文本编辑控件,我在其中设置了 ASPxTextBox 控件的 MaxLength 属性。这对我来说似乎相当直接,但 VS2010 似乎不喜欢它。

我后面的用户控制脚本如下

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="FieldEditTextMedium.ascx.cs" Inherits="COGS.Controls.DataControls.FieldEditTextMedium" %>
<link rel="Stylesheet" href="../../CSS/FieldIndicators.css" type="text/css" media="screen" />
<table><tr><td class="FieldHeader">
    <dx:ASPxLabel CssPostfix="CogsForm" ID="TextHeaderLabel" runat="server" OnLoad="Header_Load" Text='<%= this.HeaderTitle %>'/>
</td><td class="FieldEdit">
    <dx:ASPxTextBox
        ID="TextValueEdit" 
        runat="server"
        Text='<%= this.FieldValue.ToString() %>' MaxLength='<%= this.MaxChars %>' />
</td></tr></table>

当我尝试实现它时,我将控件添加到 web.config,但它不会使用智能感知出现,但是当我从代码中删除 MaxLength 属性时,我的用户控件将按正常预期显示。 这对我来说意味着这种减速导致错误并且控件无法编译......或类似的东西。我假设它与使用整数有关,因为它适用于字符串。

目前我使用一些 javascript 来设置 init 的 maxlength,因为这似乎不会导致任何问题,但对我来说似乎比必要的工作更多。

此外,当我说它会“出现”时,这通常是在关闭和重新打开文档并重新构建我觉得非常令人沮丧的解决方案之后。 如果有人还可以提供有关如何最好地处理智能感知中用户控件刷新的信息,我将不胜感激。

【问题讨论】:

    标签: asp.net user-controls intellisense


    【解决方案1】:

    通常,使用“”以声明方式设置控件的属性是无效的。您可以尝试从后面的代码中设置它们(或者可能使用数据绑定表达式,如果合适的话:)

    【讨论】:

    • ... DOH!是的,你是对的,我找到了另一种方法。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多