2015-01-21 2 views
1

У меня есть GridView и DetailsView на странице - оба файла.ПодробнееПросмотр в Modal - Модаль не откроется, конфликт с данными-переключением

Я хочу выбрать строку базы данных и открыть модальную систему с заполненным DetailsView внутри.

У меня есть LinkButtons внутри TemplateField для моей кнопки выбора с образцами загрузочных модальных данных и полями данных.

Моя проблема заключается в том, чтобы показать DetailsView в модальном режиме - нажав кнопку SELECT в GridView - модальные шоу, но данные остаются неизменными независимо от того, какую строку я выбираю.

DetailsView Код

<asp:DetailsView ID="DetailsView1" runat="server" DataSourceID="DetailsViewComputer" Height="50px" Width="125px"> 
    </asp:DetailsView> 
    <asp:SqlDataSource ID="DetailsViewComputer" runat="server" ConnectionString="<%$ ConnectionStrings:ITManagementConnectionString %>" ProviderName="<%$ ConnectionStrings:ITManagementConnectionString.ProviderName %>" SelectCommand="SELECT idComputers, idStatus, Hostname, idUser, AssetNumber, IPAddress, MACAddress, idoffice, idManufacturer, idModel, idProcessor, idRAM, idRAMType, idGraphicsCard, idHDD, SerialNumber, DateCreated, DateLastModified FROM computers WHERE (idComputers = @Param1)"> 
     <SelectParameters> 
      <asp:ControlParameter ControlID="GridView1" Name="Param1" PropertyName="SelectedValue" /> 
     </SelectParameters> 
    </asp:SqlDataSource> 

GridView Код

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="idComputers" DataSourceID="GridViewComputer"> 
    <Columns> 
     <asp:TemplateField ShowHeader="False"> 
      <ItemTemplate> 
       <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Select" data-toggle="modal" data-target="#myModal" Text="Select"></asp:LinkButton> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:BoundField DataField="idComputers" HeaderText="idComputers" InsertVisible="False" ReadOnly="True" SortExpression="idComputers" /> 
     <asp:BoundField DataField="Status" HeaderText="Status" SortExpression="Status" /> 
     <asp:BoundField DataField="Hostname" HeaderText="Hostname" SortExpression="Hostname" /> 
     <asp:BoundField DataField="forename" HeaderText="forename" SortExpression="forename" /> 
     <asp:BoundField DataField="surname" HeaderText="surname" SortExpression="surname" /> 
     <asp:BoundField DataField="officename" HeaderText="officename" SortExpression="officename" /> 
     <asp:BoundField DataField="IPAddress" HeaderText="IPAddress" SortExpression="IPAddress" /> 
     <asp:BoundField DataField="ManufacturerName" HeaderText="ManufacturerName" SortExpression="ManufacturerName" /> 
     <asp:BoundField DataField="Model" HeaderText="Model" SortExpression="Model" /> 
     <asp:BoundField DataField="HDDSize" HeaderText="HDDSize" SortExpression="HDDSize" /> 
     <asp:BoundField DataField="RAMSize" HeaderText="RAMSize" SortExpression="RAMSize" /> 
    </Columns> 
</asp:GridView> 

Через процесс ликвидации, я думаю, что проблема имеет что-то делать с моей LinkButton - в частности, с данными-пуговица - см. ниже:

LinkButton1

<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Select" data-toggle="modal" data-target="#myModal" Text="Select"></asp:LinkButton> 

Всякий раз, когда я удалить элемент данных тумблера и код DetailsView из Modal - Выбрать, работы и DetailsView отображает данные. Всякий раз, когда включен элемент перетаскивания данных, а код DetailsView находится в модальном режиме - модальные шоу, но данные DetailsView не изменяются.

Я что-то упустил?

Я искал и пробовал решение в следующей странице, но либо я идиот, или он не работает (скорее всего, бывший):

Open popup with linkbutton

Я был бы признателен за любую помощь с этим вообще! Из-за этого я весь день царапаю голову.

Спасибо заранее,

Chris

+0

так что в основном, если вы удаляете модальный, а GV и DV находятся на той же странице, что DV правильно обновляется на GV Select? – fnostro

+0

Да, но когда DV возвращается в модальное - данные не обновляются на GV select –

+0

, модальный предотвращает обратную передачу, поэтому DV никогда не связывается с параметром param1 выбранной строки. Это типичная проблема с попыткой всплывающего окна управления базой данных. popup - clientide js, но DV требует обратной передачи для получения текущих данных. – fnostro

ответ

1

Я нашел решение проблемы, открыв Modal с помощью JS - смотрите ниже:

http://getbootstrap.com/javascript/#js-programmatic-api


Я удалил

data-toggle="modal" data-target="#myModal" 

из LinkButton и вместо этого добавил OnClick = "LinkButton1_Click" - смотри ниже:

<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" OnClick="LinkButton1_Click" CommandName="Select" Text="Select"></asp:LinkButton> 

Я тогда ссылки его в VB.NET позади:

Protected Sub LinkButton1_Click(sender As Object, e As EventArgs) 

    ScriptManager.RegisterStartupScript(Me, Me.GetType(), "myModal", "$('#myModal').modal()", True) 

End Sub 
Смежные вопросы