asp.net использует объект класса на форме - PullRequest
0 голосов
/ 30 января 2010

Я создаю объект на стороне сервера страницы aspx (test.cs) из класса (asp.net 2.0 C #)

public partial class Vendor_VendorUsedTicketsPopup : System.Web.UI.Page
{
    ReportInvoice _objReportInvoice = new ReportInvoice();

    protected void Page_Load(object sender, EventArgs e)
    {
        _objReportInvoice.ReportId = 1;
    }
}

как вы видели выше перед загрузкой страницы. Я создаю новый объект ReportInvoice, а при загрузке страницы я устанавливаю свойство ReportId равным 1

В test.aspx я хочу использовать значение ReportId bu, используя объект _objReportInvoice, как показано ниже

<div><% _objReportInvoice.ReportId; %></div>

Но когда я строю сайт, я получаю ошибку Имя '_objReport' не существует в текущем контексте

Я знаю, что могу создать общедоступное целое число для ReportId над Page_Load и использовать его на странице aspx. Это прекрасно работает, но я хочу использовать свойства объекта класса на странице aspx.

Как это можно сделать?

Спасибо ...

Ответы [ 2 ]

0 голосов
/ 30 января 2010

Помните, что ваша страница разметки .ASPX наследуется от класса codebehind.

Это означает, что если вы не объявите свое поле как protected или public, .aspx не будет иметь доступа к вашему полю.

Вам нужно добавить модификатор доступа к своему полю, чтобы сделать его не приватным.

0 голосов
/ 30 января 2010

Вам нужно войти в систему =, чтобы напечатать его на странице:

<div><%= _objReportInvoice.ReportId; %></div>

Однако я бы предложил использовать там элемент управления Literal или Label, а затем установить его текст в свойстве ReportID в коде. Такой встроенный код может сделать ваш HTML беспорядочным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...