2016-01-20 1 views
0

это мой следующий код:Отображение ошибок рядный причина в коде позади

<tr id="trPrice" style = "display:none;"> 
    <td colspan=2></td> 
    <td><b>Price:</b></td> 
    <td><asp:textbox id="txtPrice" runat="server" style = "border-style:none"></asp:textbox></td> 
</tr> 

И в моем кодексе позади я хочу, чтобы установить стиль trPrice на «дисплей: встроенный» в определенном Page_Load ->

Protected WithEvents txtPrice As System.Web.UI.WebControls.TextBox 

' In Page_Load function: 
If type = 3 Or type = 4 Then 
     trPrice.Attributes.Add("style", "display:inline") 
End If 

Но эта ошибка возникает:

ссылка на объект не указывает на экземпляр объекта.

Описание: Необработанное исключение произошло во время выполнения текущего веб-запроса. Просмотрите трассировку стека для получения дополнительной информации об ошибке и ее возникновении в коде.

Сведения об исключении: System.NullReferenceException: Ссылка на объект не установлена ​​в экземпляр объекта.

+2

Вам нужно 'runat =" server "' сделать это 'tr' доступным для кода – Andrei

+0

его орфографической ошибкой, попробуйте txtPrice.Attributes вместо :-) – buffjape

+0

@Andrei спасибо! какая глупая ошибка: / – ZerOne

ответ

1

Вы должны сделать это runat="server", то Visual Studio добавит это в файл designer.vb:

Protected WithEvents trPrice As Global.System.Web.UI.HtmlControls.HtmlTableRow 

и он будет инициализирован в Page_Load.