模态中的DetailsView - Modal不会打开,与数据切换冲突

时间:2015-01-21 17:53:35

标签: asp.net gridview modal-dialog detailsview databound

我在页面上有一个GridView和DetailsView - 都是数据绑定。

我想选择数据绑定行并打开内部填充了DetailsView的模式。

我在一个TemplateField中的LinkBut​​tons用于我的选择按钮,带有示例bootstrap模态数据切换和数据目标字段。

我的问题是在模态中显示DetailsView - 单击GridView中的SELECT按钮 - 模式显示,但无论我选择哪一行,数据都保持不变。

详情查看代码

    <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>

通过消除过程,我认为这个问题与我的LinkBut​​ton有关 - 特别是数据切换 - 见下文:

LinkBut​​ton1

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

每当我从Modal中删除data-toggle元素和DetailsView代码时 - select工作,DetailsView显示数据。每当包含data-toggle元素且DetailsView代码在Modal中时 - 模态显示没有,但DetailsView数据不会改变。

我错过了什么吗?

我已经在下面的页面中搜索并尝试了解决方案,但要么我是白痴,要么它不起作用(很可能是前者):

Open popup with linkbutton

我将不胜感激任何帮助!因为这个原因,我整天都在摸不着头脑。

先谢谢,

克里斯

1 个答案:

答案 0 :(得分:1)

我通过使用JS打开Modal找到了解决问题的方法 - 见下文:

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


我删除了

data-toggle="modal" data-target="#myModal"
从LinkBut​​ton

添加 onClick =&#34; LinkBut​​ton1_Click&#34; - 见下文:

 <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