Пользовательский контроль, который не вызывает события для посетителей - PullRequest
1 голос
/ 11 декабря 2008

Эта UpdatePanel содержится в UserControl. Когда кнопка LinkButton нажата, стрелка должна быть добавлена ​​в другой GridView. Когда пользователь вошел в систему, этот элемент управления работает хорошо. Проблемы появляются, когда пользователь не вошел в систему и пытается нажать эту кнопку. Нет событий триггеров. Кто-то предложил мне дать разрешение на доступ к этому элементу управления в web.config. Это не сработало. У кого-нибудь есть другая идея?

<asp:UpdatePanel runat="server" UpdateMode="Conditional" EnableViewState="true" ID="IngredientsUpdatePanel">
<ContentTemplate>
    <asp:ObjectDataSource ID="sourceIngredients" runat="server" SelectMethod="GetAll">
    </asp:ObjectDataSource>
    <asp:GridView ID="Ingredients" AllowPaging="true" runat="server" DataKeyNames="IngredientId"
        EnableViewState="true" DataSourceID="sourceIngredients" PageSize="5"
        AutoGenerateColumns="false" HorizontalAlign="Center" OnSelectedIndexChanged="Ingredients_SelectedIndexChanged">
         <RowStyle HorizontalAlign="Center"  />  
         <HeaderStyle Font-Bold="true" ForeColor="Black" /> 
         <Columns>                        
                <asp:TemplateField HeaderText="Ingrediente" ItemStyle-Font-Size="10">                
                    <ItemTemplate>
                        <asp:Label ID="lblId" Text='<%# Bind("IngredientId") %>' Visible="false" runat="server"/>
                        <asp:Label ID="lblPrice" Text='<%# Bind("Price") %>' Visible="false" runat="server"/>
                        <asp:Label ID="lblDescr" Text='<%# Bind("Description") %>' Visible="false" runat="server"/>
                        <asp:Label ID="lblName" Text='<%# Bind("Name") %>' Visible="false" runat="server"/>
                        <asp:Label ID="lblPict" Text='<%# Bind("Picture") %>' Visible="false" runat="server"/>
                        <div style="text-align:left;">                        
                            <img id="img" style="float:right;" src='<%# Eval("Picture") %>'
                                height="75" runat="server" alt="Picture" />                                                    
                            <b>
                                <%# Eval("Name") %>
                            </b>
                            <br />
                            <br />
                            Price: <b><%# Eval("Price") %></b>
                            <br />
                            <br />
                            <br />
                        </div>                    
                        <hr />
                        <div style="text-align:left;">
                        <b>Description</b>
                        </div>
                        <div style="width:300px;">
                            <%# Eval("Description") %> 
                        </div>
                        <br />
                        <asp:LinkButton Enabled="true" runat="server" Text="Add" CommandName="Select" ID="cmdAdd" />                           
                       </ItemTemplate>            
                </asp:TemplateField>
             </Columns>
    </asp:GridView>
</ContentTemplate>

Ответы [ 2 ]

1 голос
/ 13 декабря 2008

Я решил проблему хитрым способом. Я удалил LinkButton и перед TemplateField я положил ButtonField и все работает нормально. Теперь код выглядит так:

 <Columns>
  <asp:ButtonField Text="Add" CommandName="Select" />                 
      <asp:TemplateField>
            ......
      </asp:TemplateField>
 </Columns>

Тем не менее, я не понимаю, почему управление имело такое поведение.

0 голосов
/ 12 декабря 2008

Не забудьте дать webresource.axd достаточно прав в файле web.config?

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