Вызовите javascript в aspx.cs с div <% # Eval ("variable")%> 'в качестве параметра в aspx - PullRequest
0 голосов
/ 20 марта 2019

У меня есть разборный и расширяемый вид сетки. Когда я изменяю раскрывающийся список в моем виде сетки, вид сетки падает из-за вызванной автоответки. Мне нужно сделать автоответчик, так как я хочу заполнить второй раскрывающийся список на основе первого раскрывающегося списка. Есть ли способ, которым я могу расширить его после того, как он рухнул. Я думаю о вызове javascript, но я не знаю, как его назвать, поскольку у меня мало знаний о javascript. Спасибо за помощь.

Вот мой JavaScript.

function divexpandcollapse(divname) {

    var div = document.getElementById(divname);

    var img = document.getElementById('img' + divname);

    if (div.style.display == "none") {

        div.style.display = "inline";

        img.src = "../images/minus.gif";
    } else {

        div.style.display = "none";

        img.src = "../images/plus.gif";
    }

}

Вот код для моего indexChanged, как я могу добавить javascript для расширения сетки.

    protected void OnClosetIndexChanged(object sender, EventArgs e)
    {
       //Call javascript to reopen gridview
    }

А вот и мой интерфейс

  <asp:TemplateField ItemStyle-Width="20px" >
                    <ItemTemplate>
                        <a href="JavaScript:divexpandcollapse('div<%# Eval("componente_id") %>');" >
                            <img id="imgdiv<%# Eval("componente_id") %>" width="9px" border="0" src="../images/plus.gif"
                                alt="" /></a>   
                              <asp:ImageButton ImageUrl="~/images/select.png" runat="server" CommandName="Select" OnRowDataBound = "OnRowDataBound"  Width="10px" Height="10px"/>                    
                    </ItemTemplate>
                    <ItemStyle Width="20px" VerticalAlign="Middle"></ItemStyle>
                </asp:TemplateField>
               <asp:TemplateField HeaderText="Purchase Order ID">
                <ItemTemplate>
                 <asp:Label ID="lblPurchaseOrderID" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "componente_id") %>'  ></asp:Label>
                </ItemTemplate>

            </asp:TemplateField>   

       <asp:TemplateField>
                <ItemTemplate>
                    <tr>
                       <td colspan="100%" style="background:#F5F5F5" >
                         <div id="div<%# Eval("componente_id") %>"  style="overflow:auto; display:none; position: relative; left: 15px; overflow: auto">
                    <div class="header">
                        Cambiar la cantidad
                    </div>
                    <div class="body">
                        <asp:Label ID="lblType" runat="server" Text=""></asp:Label>
                        <br/>
                        <label for="validationOfTypeID">Armario:</label>
                        <asp:DropDownList ID="drCloset2" runat="server" Width="40%" Height="30px" AutoPostBack="True" OnSelectedIndexChanged = "OnClosetIndexChanged"></asp:DropDownList>
                        <br/>
                        <label for="validationOfTypeID">cajón:</label>
                          <asp:DropDownList ID = "drDrawer2" runat="server" Width="40%" Height="30px" >
                         </asp:DropDownList>
                        <br />
                       <asp:Label ID="lblQuantity" runat="server" Text=""></asp:Label>
                           <asp:DropDownList Height="30px" ID="drOperation" runat="server">
                               <asp:ListItem>+</asp:ListItem>
                               <asp:ListItem>-</asp:ListItem>
                        </asp:DropDownList> 
                        <asp:TextBox width="50px" ID="txtChangeQuantity" runat="server" TextMode="Number" min="0" step="1" Value="0"></asp:TextBox>
                                                          <br/>
                        <asp:Button ID="btnChangeQuantity" runat="server" Text="Validar" OnClick="change_quantity_Click" /> 
                        <asp:Button ID="btnHide" runat="server" Text="Anular" AutoPostBack="True"  />
                    </div>
                             <asp:DetailsView id="DetailsView1" DataKeyNames="componente_id" Runat="server" Width="300px" Font-Names="Calibri"/>                              
                        </td>
                    </tr>
                </ItemTemplate>



        </asp:TemplateField>

Вот изображение того, на что это похоже: Table with drop down in expand

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