Umbraco 6.0.6 エディターで .NET ユーザー コントロール マクロを使用しようとしていますが、フォームビュー コントロールを使用すると、page_load イベントで内部のコントロールにアクセスできません。
元:
ASCX:
<%@ Control Language="VB" AutoEventWireup="false" CodeFile="teste.ascx.vb" Inherits="usercontrols_teste" %>
<asp:FormView ID="FormView1" runat="server" DefaultMode="Insert">
<InsertItemTemplate>
<asp:TextBox ID="txt_name" runat="server"></asp:TextBox>
</InsertItemTemplate>
</asp:FormView>
コードファイル:
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
FormView1.DefaultMode = FormViewMode.Insert
CType(FormView1.FindControl("txt_name"), TextBox).Text = "name"
End Sub
マスターページ テンプレート:
<form id="form1" runat="server">
<umbraco:Item ID="Item1" field="conteudoPagina" runat="server"></umbraco:Item>
</form>
結果は、「オブジェクトのインスタンスに設定されていないオブジェクト参照」です。行: CType(FormView1.FindControl("txt_name"), TextBox).Text = "name"
これは、コントロールが umbraco エディターからレンダリングされた場合にのみ発生します。コントロールを Web ページまたはマスターページで通常どおり使用すると、正常に動作します。
同じ結果になった人いますか?
ありがとう