2014-10-07 3 views
1

У меня есть ретранслятор, у которого есть связанная кнопка внутри него. Я хочу получить некоторые данные в связанном событии нажатия кнопки. как мне установить дополнительные данные и получить их в событии click? (Учтите, что я хочу, чтобы Concat некоторые пункты в моей собственности)установить дополнительное свойство для LinkButton в ретрансляторе в ASP.NET

код ASPX:

<asp:Repeater ID="rpSliderRest" runat="server"> 
    <ItemTemplate> 
     <!-- ITEM--> 
     <div class="span2"> 
      <div class="thumbnail product-item"> 
       <img src='<%# Eval("PrintTemplate_URL").ToString().Replace("~", "../..") %>'> 
      </div> 
      <h6><%# Eval("PrintTemplate_Desc") %></h6> 
      <asp:LinkButton ID="lbtn1" runat="server" class="btn btn-large btn-block" OnClick="LinkButton1_Click" 
       Prperty='<%# string.Format("{0};{1}",Eval("PrintTemplate_URL").ToString(),Eval("PrintTemplate_ID").ToString()) %>'>Select »</asp:LinkButton> 
     </div> 
     <!-- ITEM--> 
    </ItemTemplate> 
</asp:Repeater> 

aspx.cs код:

protected void LinkButton1_Click(object sender, EventArgs e) 
{ 
    LinkButton lbtn = sender as LinkButton; 
    string MyProperty=?????????? 
} 

ответ

1

Вы можете использовать Attributes коллекцию.

Например:

protected void LinkButton1_Click(object sender, EventArgs e) 
{ 
    LinkButton lbtn = sender as LinkButton; 
    String MyProperty = lbtn.Attributes["Prperty"]; 
} 
+0

спасибо за быстрый ответ, он возвращает пустой! он даже не добавляет мое свойство в связанный элемент после рендеринга страницы (я видел его в ошибке при запуске проекта) –

+0

связанная кнопка создала ниже код после запуска: 'انتخاب »' –

+0

Это странно. Я тестировал его в простой демонстрационной версии, и он отлично работает, и код на стороне сервера, и разметка содержат пользовательский атрибут. Одна мысль состоит в том, что значение свойства содержит символы, которые нарушают HTML, а FireBug не может видеть атрибут. Вместо того, чтобы использовать FireBug, смотрите источник напрямую и проверьте там, существует ли атрибут. –

0

Лично я бы пойти вниз маршрут с помощью кнопки ссылки CommandArgument свойства - так это то, что он там.

Итак:

 <asp:LinkButton ID="lbtn1" runat="server" class="btn btn-large btn-block" OnClick="LinkButton1_Click" 
      CommandArgument='<%# string.Format("{0};{1}",Eval("PrintTemplate_URL").ToString(),Eval("PrintTemplate_ID").ToString()) %>'>Select »</asp:LinkButton> 

Тогда

protected void LinkButton1_Click(object sender, EventArgs e) 
{ 
    LinkButton lbtn = sender as LinkButton; 
    string MyProperty= lbtn.CommandArgument; 
} 
Смежные вопросы