2011-11-04 33 views
0

我有一個RadListView,並在列表視圖中有一個asp.net linkbutton。我想動態設置linkbutton的PostBackUrl。如果我在listview的ItemDataBound事件中找到linkbutton控件,我可以實現這一點。但通過這樣做,當我最終點擊鏈接按鈕時,ListView的ItemCommand事件不會被觸發。我需要觸發itemCommand事件,以便我可以將點擊項目的datakeyvalue並將其設置爲會話變量以傳遞到鏈接按鈕的postbackurl頁面,但當頁面加載時設置postbackurl導致linkbutton不會觸發任何事件。在radlistview中的Asp.net linkbutton沒有觸發事件

<telerik:RadListView ID="lstVwWebpageList" runat="server" EnableViewState="true" ItemPlaceholderID="webpageContainer" AllowPaging="true" DataKeyNames="id" Skin="WebBlue" OnItemDataBound="lstVwWebpageList_ItemDataBound" OnPageIndexChanged="lstVwWebpageList_PageChange" Width="607px" OnItemCommand="lstVwWebpageList_ItemCommand"> 
<LayoutTemplate> 
    <table cellpadding="0" cellspacing="0"> 
     <tr> 
     <td> 
      <asp:PlaceHolder ID="webpageContainer" runat="server" /> 
     </td> 
     </tr> 
     <tr> 
     <td> 
     <telerik:RadDataPager ID="Pager" runat="server" PagedControlID="lstVwWebpageList" PageSize="50" Skin="WebBlue"> 
      <Fields> 
       <telerik:RadDataPagerButtonField FieldType="FirstPrev" /> 
       <telerik:RadDataPagerButtonField FieldType="Numeric" /> 
       <telerik:RadDataPagerButtonField FieldType="NextLast" /> 
      </Fields> 
     </telerik:RadDataPager> 
     </td> 
     </tr> 
    </table> 
</LayoutTemplate> 

<ItemTemplate> 
    <fieldset style="float: left; width: 300px;"> 
     <table cellpadding="0" cellspacing="0"> 
      <tr> 
       <td> 
        <table cellpadding="0" cellspacing="0"> 
         <tr> 
          <td style="width: 25%;"> 
           <b>Name:</b> 
          </td> 
          <td style="width: 75%;"> 
           <asp:Label ID="lblName" runat="server" Text='<%# Eval("name") %>'></asp:Label> 
          </td> 
         </tr> 
         <tr> 
          <td style="width: 25%;"> 
           <b>Page:</b> 
          </td> 
          <td style="width: 75%;"> 
           <asp:LinkButton ID="pagenameLink" runat="server" OnClick="test" OnCommand="testing" CommandName="LinkClicked" Text='<%# Eval("pagename") %>' PostBackUrl='<%# "EditWebpage.aspx?name=" + Eval("name") + "&page=" + Eval("pagename") %>'></asp:LinkButton>          
          </td> 
         </tr> 
        </table> 
       </td> 
      </tr> 
     </table> 
    </fieldset> 
</ItemTemplate> 

protected void lstVwWebpageList_ItemCommand(object sender, RadListViewCommandEventArgs e) 
{ 
    if (e.CommandName == "LinkClicked") 
    { 
     RadListViewDataItem item = (RadListViewDataItem)e.ListViewItem; 
     Session["linkID"] = item.DataItem; 
    } 
} 

回答

0

試試這個

<asp:LinkButton runat="server" 
    ID="pagenameLink" 
    Text='<%# Eval("pagename") %>' 
    CommandName="LinkClicked" 
    CommandArgument='<%#Eval("name") + ", " + Eval("pagename") %>' />