6 asp.net user-controls postback dynamic
我有一个用户控件,它使用页面初始化中的以下代码动态加载到页面中.
Dim oCtl As Object
oCtl = LoadControl("~/Controls/UserControl1.ascx")
oCtl.Id = "UserControl11"
PlaceHolder1.Controls.Clear()
PlaceHolder1.Controls.Add(oCtl)
Run Code Online (Sandbox Code Playgroud)
用户控件还包含一个按钮,我无法捕获用户控件中的按钮单击.
Adr*_*ark 10
你正在做的一些事情都是不需要的,可能会导致你的问题.
这些是:
这段代码适合我:
Default.aspx的
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Default.aspx.vb" Inherits="Test_User_Control._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server"><title></title></head>
<body>
<form id="form1" runat="server">
<asp:PlaceHolder ID="PlaceHolder1" runat="server" />
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
Default.aspx.vb
Partial Public Class _Default
Inherits System.Web.UI.Page
Private Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
Dim control As Control = LoadControl("~/UserControl1.ascx")
PlaceHolder1.Controls.Add(control)
End Sub
End Class
Run Code Online (Sandbox Code Playgroud)
UserControl1.ascx
<%@ Control Language="vb" AutoEventWireup="false" CodeBehind="UserControl1.ascx.vb" Inherits="Test_User_Control.UserControl1" %>
<asp:Label ID="Label1" Text="Before Button Press" runat="server" />
<asp:Button ID="Button1" Text="Push me" runat="server" />
Run Code Online (Sandbox Code Playgroud)
UserControl1.ascx.vb
Public Partial Class UserControl1
Inherits System.Web.UI.UserControl
Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Label1.Text = "The button has been pressed!"
End Sub
End Class
Run Code Online (Sandbox Code Playgroud)
几个问题:
最后,.Net 的样式指南特别建议不要使用任何 Hugarian 前缀,例如 oCtl 中的 o,并且您应该将其键入为 Control 而不是对象。
归档时间: |
|
查看次数: |
9935 次 |
最近记录: |