在ASP.net中创建单独的详细信息视图页面

时间:2014-02-22 22:00:02

标签: asp.net

好的,所以我创建了一个包含2个连接下拉列表的表单。我有一个重定向到另一个页面的按钮。这个目前是空白的,但我尝试添加一个详细视图,但是,当我尝试将它连接到数据源时,它只显示第一个列名和abc。

我需要知道如何将它连接到我的数据源,这将创建4行以及这些行的相应信息。在这种情况下,它将类似于数量,类别,产品名称和第一页上所选项目的描述。

非常感谢任何帮助。

更新

我仍然无法让这个工作。

以下是第一页的屏幕截图。

我对此页面的说明很简单......

在第一个屏幕上,用户选择一个类别,然后从所选类别中选择一个产品。使用以下过程填充“类别”和“产品”控件:因此,我使用相应的过程设置了这两个步骤,并且它们正常工作。

订单明细按钮只是重定向到订单明细页面,但我不确定是否必须做任何事情来保存选择。

但是,这是我为这3个按钮组合的代码。

<div style="height: 182px">
Category: <asp:DropDownList ID="ddlCategory"
runat="server" DataSourceID="SqlDataSource1" DataTextField="CategoryName"     

DataValueField="CategoryId" AutoPostBack="True"/>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$  
ConnectionStrings:DeveloperInterviewConnectionString %>" 
SelectCommand="CategoryListing" SelectCommandType="StoredProcedure">    
</asp:SqlDataSource>
        <br/>

Product: <asp:DropDownList ID="ddlProduct"
runat="server" DataSourceID="SqlDataSource2" DataTextField="ProductName"   

DataValueField="ProductId"/>
<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ 

ConnectionStrings:DeveloperInterviewConnectionString %>"  
SelectCommand="CategoryProducts" SelectCommandType="StoredProcedure">
            <SelectParameters>
                <asp:ControlParameter ControlID="ddlCategory" Name="CategoryId" PropertyName="SelectedValue" Type="Int32" />
            </SelectParameters>
        </asp:SqlDataSource>

<input type="button" value="Order Details"
 onClick="location.href = 'OrderDetails.aspx';">

所以我必须做任何事情来设置从一个表单到下一个表单的数据,我仍然无法使视图运行。

1 个答案:

答案 0 :(得分:0)

好的,所以我尝试将你的存储过程链接到一个详细信息视图,并没有得到很多。我认为问题在于输出参数。

尝试将存储过程修改为以下内容:

CREATE PROCEDURE [dbo].[ProductDetails]
@ProductId INT
AS
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;

SELECT
ProductName,
ProductDescription,
QuantityInStock

from Product
where productid = @ProductId

END

GO

将数据源指向该Sproc,链接ProductID参数,您应该设置。

更新:添加我的asp.net代码

 <asp:DetailsView ID="DetailsView1" runat="server" Height="50px" Width="125px" AutoGenerateRows="False" DataSourceID="SqlDataSource1">
            <Fields>
                <asp:BoundField DataField="ProductName" HeaderText="ProductName" SortExpression="ProductName" />
                <asp:BoundField DataField="ProductDescription" HeaderText="ProductDescription" SortExpression="ProductDescription" />
                <asp:BoundField DataField="QuantityInStock" HeaderText="QuantityInStock" SortExpression="QuantityInStock" />
            </Fields>
        </asp:DetailsView>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:DemoDBConnectionString %>" SelectCommand="ProductDetails" SelectCommandType="StoredProcedure">
            <SelectParameters>
                <asp:Parameter DefaultValue="1" Name="ProductId" Type="Int32" />
            </SelectParameters>
        </asp:SqlDataSource>