c# - 自定义表单控件中的 DropDownList 给出 'DropDownList' 必须放置在带有 runat=server 的表单标签内,

标签 c# asp.net custom-controls runatserver

我们在我们的应用程序中使用自定义表单控件。当我们尝试在这个自定义表单控件中使用 asp dropdownlist 控件时,我得到了这个给定的异常。但是,当我使用 asp 文字控件时,我们不会收到此错误。

请建议您是否可以向我提供解决此问题的任何指导。

最佳答案

那是因为当您尝试添加 DropDownList ,它必须将其添加到 from 标记之外,但是 asp 下拉列表需要带有 runat="server" 的表单标记,因为它是服务器端控件。

另一方面,您的 Literal控制工作是因为 - A Literal控件代表 ASP.NET 页面中不需要在服务器上处理的 HTML 元素、文本和任何其他字符串。

为了证明这一点,只需尝试将其添加到网络表单中:-

<body>
<asp:Literal ID="Literal1" runat="server" Text="Hello"></asp:Literal>  //Correct
<asp:DropDownList ID="ddlTest" runat="server"></asp:DropDownList> // Error
    <form id="form1" runat="server">

    </form>
</body>

Literal Dropdownlist 时控件不会抛出任何错误控件将抛出您提到的错误,因为它在 form 之外标签。

关于c# - 自定义表单控件中的 DropDownList 给出 'DropDownList' 必须放置在带有 runat=server 的表单标签内,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27690174/

相关文章:

c# - 指南针/飞机仪表控制

c# - NHibernate 树结构更新根问题

javascript - 回发后保持控制背景颜色

wpf - DatePicker 内的自定义 WPF 日历

c# - 无法验证 'RequiredFieldValidator' 引用的自定义控件

uiview - 可插入自定义 View Nib (Nib-in-a-Nib) : Memory leak – why?

c# - Xamarin Android MvvmCross 绑定(bind) facebook 登录按钮

C# - 如何在从集合中分配整数 ID 后循环返回?

c# - 在不丢失 View 状态的情况下防止在浏览器刷新时重新提交 webform

asp.net - 在数据绑定(bind)到 sql 数据源后需要更改下拉列表