简体   繁体   English

Visual Studio模块创建dotnetnuke的项目之间的原因无法解释

[英]Unexplained gap between items for visual studio module creation dotnetnuke

I created a linqdatasource connection to my sql server and i load my data inside a listview. 我创建了到sql服务器的linqdatasource连接,并将数据加载到列表视图中。 Now for that listview i added another table from the top of that listview like a title.(i also tried div or p) 现在对于该列表视图,我从该列表视图的顶部添加了另一个表,例如标题。(我也尝试了div或p)

The issue now is when i add this module to my website there is a gap between the listview and the top item whether its a table or a dive or anything. 现在的问题是,当我将此模块添加到我的网站时,列表视图和顶部项(无论是表还是潜水表)之间都存在间隙。

Inside visual studio it show fine with no gap. 在Visual Studio内部,它显示良好,没有间隙。 Here is my code: 这是我的代码:

在此处输入图片说明

<%@ Control Language="VB" ClassName="MyModules.ProductDetailsModule" Inherits="DotNetNuke.Entities.Modules.PortalModuleBase" %>
<%@ Import Namespace="CodingStaff.Modules.MenuBox.Licensing" %>

<script runat="server">
    Dim prodID As Integer
</script>

<%
    prodID = Convert.ToInt32(Request.QueryString("ProductID"))
%>

<style type="text/css">
    h1 {
        font-family: Lucida Grande;
        font-size: 15px;
    }

    td {
        font-family: Lucida Grande;
        font-size: 13px;
        color: #999999;
    }
</style>

<table style="width: 704px;">
    <tr style="width: 704px;">
        <td>
            <table>
                <tbody>
                    <tr bgcolor="#e7e7e5" height="35">
                        <td align="left" style="width: 704px;">
                            <h1 style="color: #666666;">Technical info</h1>
                        </td>
                    </tr>
                </tbody>
            </table>
        </td>
    </tr>
    <tr>
        <td>
            <asp:ListView ID="ListView1" runat="server" DataKeyNames="PRODUCTID" DataSourceID="LinqDataSource1">
                <ItemTemplate>
                    <tr>
                        <td runat="server" style="width:352px"><strong>Product Code:</strong></td>
                        <td style="width:352px"><strong>
                            <asp:Label ID="PRODUCTIDLabel" runat="server" Text='<%# Eval("PRODUCTID") %>' /></strong>
                        </td>
                    </tr>
                    <tr>
                        <td runat="server" style="width:352px"><strong>Name:</strong></td>
                        <td style="width:352px"><strong>
                                <asp:Label ID="PRODUCTNAMELabel" runat="server" Text='<%# Eval("PRODUCTNAME") %>' /></strong>
                        </td>
                    </tr>
                    <tr>
                        <td runat="server" style="width:352px"><strong>Description:</strong></td>
                        <td style="width:352px"><strong>
                            <asp:Label ID="PRODUCTDESCRIPTIONLabel" runat="server" Text='<%# Eval("PRODUCTDESCRIPTION") %>' /></strong></td>
                    </tr>
                </ItemTemplate>
                <LayoutTemplate>
                    <table runat="server" border="0" style="">
                        <tr runat="server" id="itemPlaceholderContainer">
                            <td runat="server" id="itemPlaceholder"></td>
                        </tr>
                    </table>
                    <div style="">
                    </div>
                </LayoutTemplate>
            </asp:ListView>
        </td>
    </tr>
</table>

<asp:LinqDataSource ID="LinqDataSource1" runat="server" ContextTypeName="ProductsModule.ProductsModuleDALDataContext" EntityTypeName="" TableName="PRODUCTs" Where="PRODUCTID==@prodID">
    <WhereParameters>
        <asp:QueryStringParameter Name="prodID" QueryStringField="ProductID" Type="Int32" />
    </WhereParameters>
</asp:LinqDataSource>

And here a similar code with the same issue: 这里有一个类似的代码,但有相同的问题:

在此处输入图片说明

<%@ Control Language="VB" AutoEventWireup="false" CodeFile="View.ascx.vb" Inherits="DesktopModules_MyModules_ProductsModule_View" %>
<asp:LinqDataSource ID="LinqDataSourceProducts" runat="server" ContextTypeName="ProductsModule.ProductsModuleDALDataContext" EntityTypeName=""
     TableName="PRODUCTs" OrderBy="PRODUCTNAME" Select="new (PRODUCTID, PRODUCTNAME)">
</asp:LinqDataSource>

<style type="text/css">
    td   {
    font-family:Lucida Grande;
    color:#666666;
    font-size:15px;
    }
    table{
    margin-top: 10px;
    }
     A{
    text-decoration:none;
    }
    a:link{
    color:#666666;
    }
    a:visited{
    color:#666666;
    }
    a:hover{
    color:#666666;
    }
    a:focus{
    color:#666666;
    }
    a:active{
    color:#666666;
    }
</style>

    <asp:Table runat="server" style="width: 704px;" CellPadding="10" CellSpacing="0">
        <asp:TableRow bgcolor="#e7e7e5" height="45">
            <asp:TableCell align="left" style="width: 100%;" >
                <p1 style="color: #666666; font-size:inherit"><strong>Product list</strong></p1>
            </asp:TableCell>
        </asp:TableRow>
    </asp:Table>

<asp:ListView ID="ListView1" runat="server" DataSourceID="LinqDataSourceProducts" GroupItemCount="4" DataKeyNames="PRODUCTID">
    <AlternatingItemTemplate>
        <td runat="server" style="background-color: #ffffff;color: #284775;"  width="176">
            <asp:Image  ImageUrl="~/images/drop59.png" ID="Image1" runat="server" />
            <a href="http://localhost/dnn7/Commercial-vehicle-lubricants/Product-line/product-details?ProductID=<%# Eval("PRODUCTID") %>" target="_self">
                <asp:Label ID="PRODUCTNAMELabel" runat="server" Text='<%# Eval("PRODUCTNAME") %>' /></a>
            <br />
        </td>
    </AlternatingItemTemplate>
    <EditItemTemplate>
        <td runat="server" style="background-color: #FFCC66;color: #000080;">PRODUCTID:
            <asp:Label ID="PRODUCTIDLabel1" runat="server" Text='<%# Eval("PRODUCTID") %>' />
            <br />
            PRODUCTNAME:
            <asp:TextBox ID="PRODUCTNAMETextBox" runat="server" Text='<%# Bind("PRODUCTNAME") %>' />
            <br />
        </td>
    </EditItemTemplate>
    <EmptyDataTemplate>
        <table runat="server" style="background-color: #FFFFFF;border-collapse: collapse;border-color: #999999;border-style:none;border-width:1px;">
            <tr>
                <td>No data was returned.</td>
            </tr>
        </table>
    </EmptyDataTemplate>
    <EmptyItemTemplate>
<td runat="server" />
    </EmptyItemTemplate>
    <GroupTemplate>
        <tr id="itemPlaceholderContainer" runat="server">
            <td id="itemPlaceholder" runat="server"></td>
        </tr>
    </GroupTemplate>
    <InsertItemTemplate>
        <td runat="server" style="">PRODUCTID:
            <asp:TextBox ID="PRODUCTIDTextBox" runat="server" Text='<%# Bind("PRODUCTID") %>' />
            <br />PRODUCTNAME:
            <asp:TextBox ID="PRODUCTNAMETextBox" runat="server" Text='<%# Bind("PRODUCTNAME") %>' />
            <br />
        </td>
    </InsertItemTemplate>
    <ItemTemplate>
        <td runat="server" style="background-color: #ffffff;color: #333333;" width="176">
            <asp:Image ImageUrl="~/images/drop59.png" ID="Image1" runat="server" />
            <a href="http://localhost/dnn7/Commercial-vehicle-lubricants/Product-line/product-details?ProductID=<%# Eval("PRODUCTID")%>" target="_self">
                <asp:Label ID="PRODUCTNAMELabel" runat="server" Text='<%# Eval("PRODUCTNAME") %>' /></a>
            <br />
        </td>
    </ItemTemplate>
    <LayoutTemplate>
        <table runat="server">
            <tr runat="server">
                <td runat="server">
                    <table id="groupPlaceholderContainer" runat="server" border="0" style="background-color: #FFFFFF;border-collapse: collapse;font-family: Lucida Grande, Helvetica, sans-serif; font-size:15px; color:#999999;">
                        <tr id="groupPlaceholder" runat="server">
                        </tr>
                    </table>
                </td>
            </tr>
            <tr runat="server">
                <td runat="server" style="text-align: center;background-color: #FFCC66;font-family: Lucida Grande, Helvetica, sans-serif;color: #333333; font-size:15px;"></td>
            </tr>
        </table>
    </LayoutTemplate>
    <SelectedItemTemplate>
         <td runat="server" style="background-color: #FFCC66;font-weight: bold;color: #000080;">PRODUCTID:
            <asp:Label ID="PRODUCTIDLabel" runat="server" Text='<%# Eval("PRODUCTID") %>' />
            <br />PRODUCTNAME:
            <asp:Label ID="PRODUCTNAMELabel" runat="server" Text='<%# Eval("PRODUCTNAME") %>' />
            <br />
        </td>
    </SelectedItemTemplate>
</asp:ListView>

UPDATE!!!!! 更新!!!!!

Ive looked the website from chrome with f12 to see what happens with the gap. Ive用f12从chrome浏览了该网站,看看差距如何了。 Ive notice that on every table declaration a gap is added. 我注意到,在每个表声明上都添加了一个空白。 here is a sample image. 这是一个示例图像。 the orange is the gap thats generated and also below Technical info there is a gap again. 橙色是产生的间隙,在技术信息下方也有一个间隙。

在此处输入图片说明

I found the problem to this. 我发现了这个问题。 I had inside another module in another page a padding top 30px. 我在另一页的另一个模块中填充了30px的顶部。 And as it seems it shares this options to the whole site. 似乎它在整个站点上都共享此选项。 So anywhere that a table declaration existed it added a 30px gap on top. 因此,在存在表声明的任何地方,它都会在顶部添加30px的间隙。 I fixed it by making that specific 30px padding with table.aVariableName so that is dinstinct to a specific table only 我通过使用table.aVariableName进行特定的30px填充来解决此问题,因此仅适用于特定的表

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM