Не может передать переменную пользовательскому элементу управления

Я использую ниже примера кода и имею проблему, куда я не могу передать Запрос. RawUrl оценивают в объект, который расширяет Объект управления (класс Тест ниже).

Когда я использую строку:

<Test1:Test runat="server" ID="testControl" Target="<%# Request.RawUrl %>"></Test1:Test>

Я нахожу, что свойство Target никогда не называют.

Если я использую эту строку вместо этого:

<Test1:Test runat="server" ID="testControl" Target="<%# Request.RawUrl %> test"></Test1:Test>

строковое значение "<%# Request.RawUrl %> test" передается свойству Target.

Если я использую эту строку, как объяснено во многих, размещает в Интернете:

<Test1:Test runat="server" ID="testControl" Target="<%= Request.RawUrl %>"></Test1:Test>

строковое значение "<%= Request.RawUrl %>" передается свойству Target.

Я должен получить значение Запроса. RawUrl передал Целевому Свойству моего Тестового объекта управления. У кого-либо есть какие-либо идеи, где я иду не так, как надо?


Управление:

namespace Testing
{
    public class Test : Control
    {
        public Test()
        {

        }

        private string target;

        public string Target
        {
            get { return target; }
            set { target = value; }
        }
    }
}

Пользовательский элемент управления:

<%@ Control Language="C#" Debug="true" %>
<%@ Register TagPrefix="Test1" Assembly="Test" Namespace="Testing" %>

<Test1:Test runat="server" ID="testControl" Target="<%# Request.RawUrl %>"></Test1:Test>
1
задан dtb 17 June 2010 в 15:56
поделиться

1 ответ

Вам нужно вызвать testControl.DataBind () в коде. <% # устанавливается при вызове DataBind (). <% = эквивалентно Response.Write ().

2
ответ дан 2 September 2019 в 23:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: