尝试在数据库的下拉列表中显示4个连接项

时间:2018-01-29 11:21:00

标签: javascript c# jquery asp.net ado.net

我正在尝试使用ajax绑定并在dropdownlist中显示4个连接项。 像这样,例如。 (127,CoilWt,1,KGS)下拉列表中的一个值应该如下所示。来自数据库。 在数据库中,我正在选择

`select CODE_VALUE,CODE_DESC,CODE_SUB_VALUE,CODE_SUB_DESC FROM TCODE

html部分

<td><select class='form-control' id='Certific'><option value='' disabled='disabled' selected='selected'>Please select a name</option></select></td>

脚本部分

$(function () {
                        $.ajax({
                            type: "POST",
                            url: "TDC.aspx/GetCertificate",
                            data: '{}',
                            contentType: "application/json; charset=utf-8",
                            dataType: "json",
                            success: function (r) {
                                var Certific = $("[id*=Certific]");
                                Certific.empty().append('<option selected="selected" value="0">Please select</option>');
                                $.each(r.d, function () {
                                    Certific.append($("<option></option>").val(this['Value']).html(this['Text']));
                                });
                            }
                        });
                    });

c#side

public class GetCertificate
{
    public int ID { get; set; }
    public string Code_Desc { get; set; }
}

 [WebMethod]
    public static List<GetCertificate> GetCertificate()
    {

        string connStr = ConfigurationManager.ConnectionStrings["conndbprodnew"].ToString();
        OracleConnection objconn = new OracleConnection(connStr);
        string prop_name, tdc_property = "", qry = "";
        qry = "SELECT CODE_DESC from tdc_product1 ";
        OracleCommand objFetchCmd = new OracleCommand(qry, objconn);
        List<GetCertificate> Certificate = new List<GetCertificate>();
        objconn.Open();        
        OracleDataReader ReadData = objFetchCmd.ExecuteReader();
        while (ReadData.Read())
        {

            GetCertificate.ID = ReadData["ID"].ToString();
            GetCertificate.CODE_DESC = ReadData["CODE_DESC"].ToString();

        }
        return Certificate;
    }

我正在尝试这样的错误,但在GetCertificate.ID上收到错误。任何想法都会受到赞赏。

1 个答案:

答案 0 :(得分:0)

我猜你错了:

GetCertificate.ID = ReadData["ID"].ToString();
GetCertificate.CODE_DESC = ReadData["CODE_DESC"].ToString();

GetCertificate似乎是一个类型而不是对象的实例。

你应该尝试类似的东西:

Certificate.Add(new GetCertificate { ID = ReadData["ID"].ToString(), CODE_DESC = ReadData["CODE_DESC"].ToString() } );

请注意,我在没有任何IDE的情况下写了这个,所以可能会出现拼写错误/语法错误,但是你明白了。

小提示:当然,您的代码中有足够的代码重构空间(例如将证书重命名为证书),但这是另一个主题。