从asp:Dropdown访问属性ID但仅显示属性c#

时间:2015-03-25 21:19:27

标签: c# mysql sql asp.net database

我正在尝试为uni的最后一年项目构建一个简单的Web应用程序。

我已设法使用vs2012设置SQL数据库。我有一个页面试图将股票添加到" Stock"数据库表。

我在创建asp:DropDownList时遇到了问题,我从表中选择了数据源" Clients" (这里面有信息),一切都很好。

然而,在我的表格" Stock"我有一个外键作为" ClientID"这是供用户选择股票所属的人。

访问我点击的人的ID时遇到问题。这就是我要做的事情。

clsStock

private int ClientID;

public int ClientIDRecord
{
   get
   {
     return ClientID;
   }
   set
   {
     ClientID = value;
   }
}

public void saveStockInformation()
{
            clsLabelsDataConduit stockDetails = new clsLabelsDataConduit();
            stockDetails.Execute("sprocTableStock_GetAll");
             stockDetails.NewRecord["ClientID"] = clientIDRecord;
}

addstock.aspx.cs

 protected void btnSubmit_Click(object sender, EventArgs e)
    {
        LabelsClassLib.clsStock stockData = new LabelsClassLib.clsStock();
        stockData.clientIDRecord = drpClientName.SelectedIndex;
        stockData.saveStockInformation();
}

我的SQL表格: 客户机:

CREATE TABLE [dbo].[Clients] (
    [ClientID]           INT           IDENTITY (1, 1) NOT NULL,
    [FirstName]          VARCHAR (20)  NOT NULL,
    [LastName]           VARCHAR (20)  NOT NULL,
    [ClientAddressLine1] VARCHAR (30)  NOT NULL,
    [ClientAddressLine2] VARCHAR (30)  NULL,
    [Town]               VARCHAR (20)  NOT NULL,
    [County]             VARCHAR (20)  NOT NULL,
    [Postcode]           VARCHAR (10)  NOT NULL,
    [MobileNumber]       VARCHAR (12)  NOT NULL,
    [HomeNumber]         VARCHAR (20)  NOT NULL,
    [EmailAddress]       VARCHAR (320) NOT NULL,
    [DateAddedToSystem]  ROWVERSION    NOT NULL,
    PRIMARY KEY CLUSTERED ([ClientID] ASC)
);

股票表:

CREATE TABLE [dbo].[Stock] (
    [StockID]           INT          IDENTITY (1, 1) NOT NULL,
    [ClientID]          INT          NOT NULL,
    [ItemTypeID]        INT          NOT NULL,
    [ItemName]          VARCHAR (30) NULL,
    [ImageOfItem]       IMAGE        NULL,
    [DateAddedToSystem] DATE         NULL,
    [DateSold]          DATE         NULL,
    [DatePurchased]     DATE         NULL,
    [ItemDescription]   VARCHAR (50) NULL,
    [RetailPrice]       MONEY        NULL,
    [Quantity ]         SMALLINT     NULL,
    [ItemSold]          VARCHAR (3)  NULL,
    [Designer]          VARCHAR (50) NULL,
    [PurchasePrice]     MONEY        NULL,
    [ItemColour]        VARCHAR (20) NULL,
    [ItemSize]          INT          NULL,
    PRIMARY KEY CLUSTERED ([StockID] ASC),
    CONSTRAINT [FK_ClientID] FOREIGN KEY ([ClientID]) REFERENCES [dbo].[Clients] ([ClientID]),
    CONSTRAINT [FK_ItemType] FOREIGN KEY ([ItemTypeID]) REFERENCES [dbo].[ItemTypes] ([ItemTypeID])
);

我觉得我知道并理解这个问题,但我不知道如何解决这个问题,如果任何人可以提供帮助,我将非常感激。

1 个答案:

答案 0 :(得分:1)

我认为问题与您从下拉列表中获取值的方式有关,而不是stockData.clientIDRecord = drpClientName.SelectedIndex;应该是

stockData.clientIDRecord = drpClientName.SelectedValue;

它还取决于您如何进行数据绑定,并且指定的属性将作为值存储在下拉列表中。

drpClientName.DataValueField ="ClientID"