0
這是前些日子,不知道發生了什麼,但現在不是,我不知道。這個標籤只會給我20個左右(贈送或拿出)不同的物品中的一個。無論我在我的下拉列表中選擇什麼,它總是會在標籤上給我同樣的價值。Asp:由dropdownlistbox確定的標籤不能正常工作
HTML:
<td>
<asp:DropDownList ID="ddlCompanyCode" runat="server" CssClass="Dropdown" AutoPostBack="True" OnSelectedIndexChanged="ddlCompanyCode_SelectedIndexChanged" Width="139px" DataSourceID="CompanyCodeDS" DataTextField="CompanyCode" DataValueField="CompanyCode"></asp:DropDownList>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="ddlCompanyCode" Display="Dynamic" ErrorMessage="*Please select a drop down list item." ForeColor="#CC0000" ValidationGroup="Submit"></asp:RequiredFieldValidator>
</td>
<td>
<asp:Label ID="lblSourceSyst" runat="server" CssClass="txtLabel" Text="Select Company Code" Width="137px" ></asp:Label>
</td>
<asp:SqlDataSource ID="CompanyCodeDS" runat="server" SelectCommandType="StoredProcedure" ConnectionString="<%$ ConnectionStrings:RptDatamartConnectionString %>" SelectCommand="[AXMap].[SelectCompanyCode_GLSourceCOA]">
</asp:SqlDataSource>
C#:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ddlCompanyCode.Items.Add(new ListItem("--Please Select--", ""));
ddlCompanyCode.AppendDataBoundItems = true;
}
}
protected void ddlCompanyCode_SelectedIndexChanged(object sender, EventArgs e)
{
String connectionString = ConfigurationManager.ConnectionStrings["RptDatamartConnectionString"].ConnectionString;
String sqlStoredProc = "RptDatamart.AXMap.SelectCompanyCode_GLSourceCOA";
SqlConnection con = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand();
cmd.Parameters.AddWithValue("@CompanyCode", ddlCompanyCode.SelectedItem.Value);
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = sqlStoredProc;
cmd.Connection = con;
try
{
con.Open();
SqlDataReader dataReader = cmd.ExecuteReader();
while (dataReader.Read())
{
lblSourceSyst.Text = dataReader["SourceSystem"].ToString();
}
}
catch (Exception ex)
{
lblStatus.Text = ex.Message;
}
}
然後存儲過程我嘗試使用...
ALTER PROCEDURE [AXMap].[SelectCompanyCode_GLSourceCOA]
@CompanyCode varchar(10) = Null,
@SourceSystem nvarchar(255) = Null
AS
BEGIN
SET NOCOUNT OFF;
Select distinct CompanyCode, SourceSystem from [RptDatamart].[AXMap].[GLSourceCOA]
END
我的SQL可能是可怕的了,但我會認爲它會起作用。
如果我這樣做,它把所有的都在同一時間 – Psymbionic
然後sourcesystem列到這個標籤我不知道不同的項目你」再問。如果你不想要所有的項目,爲什麼你選擇它們並循環?另外,你沒有在SQL中使用你的參數。你通過它們,但你不使用它們。 – aquinas
我想爲公司代碼和源系統選擇不同的行。然後將所有公司代碼放入一個下拉列表中,然後當我在ddl中選擇某個內容時,與該內容相關的sourceystem的任何不同值將顯示在標籤中。 – Psymbionic