Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将数据集传递到数组(VB.Net、ASP.Net、JavaScript)后,从datarow为textbox控件返回多列_Javascript_Asp.net_Vb.net_Sql Server 2008_Web Applications - Fatal编程技术网

将数据集传递到数组(VB.Net、ASP.Net、JavaScript)后,从datarow为textbox控件返回多列

将数据集传递到数组(VB.Net、ASP.Net、JavaScript)后,从datarow为textbox控件返回多列,javascript,asp.net,vb.net,sql-server-2008,web-applications,Javascript,Asp.net,Vb.net,Sql Server 2008,Web Applications,我有一种情况,我已经工作了几个小时——我觉得这里有一些非常明显的东西,但我错过了。我从来没有在这样的开发环境中工作过,所以我相信这是其中的一部分。欢迎提供任何帮助/建议 产品:网络应用 环境: ~数据库/后端SQL Server管理工作室,SQL Server 2008 R2 ~接口/前端ASPX页面,SharePoint 2010 ~语言,发展VisualStudio2010、VB.Net、JavaScript、HTML、SQL、Ajax、jQuery ~MiscWeb部件、更新面板等 任务

我有一种情况,我已经工作了几个小时——我觉得这里有一些非常明显的东西,但我错过了。我从来没有在这样的开发环境中工作过,所以我相信这是其中的一部分。欢迎提供任何帮助/建议

  • 产品:网络应用

  • 环境:

    ~数据库/后端SQL Server管理工作室,SQL Server 2008 R2

    ~接口/前端ASPX页面,SharePoint 2010

    ~语言,发展VisualStudio2010、VB.Net、JavaScript、HTML、SQL、Ajax、jQuery

    ~MiscWeb部件、更新面板等

  • 任务和问题:

更新aspx.cs上显示组织代码和组织名称的文本框的代码(当前仅显示名称)。文本框当前显示组织名称。代码从SQLServer调用一个存储过程,该过程传入所需的列和数据

到目前为止,我已经能够更新代码,以便您可以开始键入组织代码或组织名称,并以下拉方式填充组织列表。无论使用组织代码还是名称,列表和结果选择中都只显示组织名称。我需要它显示组织代码和名称

到目前为止,我的代码是:

using System;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;

using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Text;
using System.Data.SqlClient;
using System.Collections.Generic;
using IDE_Utility.DBConnection;

namespace ORG40.Layouts.ORG40
{
    public partial class OrganizationSearch : LayoutsPageBase
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void GetCompleteList(object sender, EventArgs e)
        {

            DataSet DS = new DataSet();

            SqlParameter sqlParamComp = new SqlParameter();
            sqlParamComp.ParameterName = "@oName";
            sqlParamComp.DbType = DbType.String;
            sqlParamComp.Value = "%" + OrganizationName.Text + "%";

            SqlParameter[] sqlParams = new SqlParameter[]{
                new SqlParameter("@orgCode", DBNull.Value),                
                sqlParamComp
            };

            DS = DBConnection.GetDataSet("getL_Organization", CommandType.StoredProcedure, sqlParams);
            GridView1.DataSource = DS;
            GridView1.DataBind();



        }
        [System.Web.Script.Services.ScriptMethod()]
        [System.Web.Services.WebMethod]
        public static string[] getNames(string prefixText, int count)
        {
            DataSet DS = new DataSet();
            SqlParameter sqlParamComp = new SqlParameter();
            sqlParamComp.ParameterName = "@oName";
            sqlParamComp.DbType = DbType.String;
            sqlParamComp.Value = "%" + prefixText + "%";

            SqlParameter[] sqlParams = new SqlParameter[]{
                new SqlParameter("@orgCode", DBNull.Value),                
                sqlParamComp
            };

            DS = DBConnection.GetDataSet("getL_Organization", CommandType.StoredProcedure, sqlParams);


            DataTable Dt = new DataTable();
            Dt = DS.Tables[0].DefaultView.ToTable(true, new string[] {"OrgCode", "Name"});
            DataRow[] Dr = new DataRow[Dt.Rows.Count];
            Dt.Rows.CopyTo(Dr, 0);
            return Array.ConvertAll(Dr, new Converter<DataRow, String>(DataRowToString));

        }

        public static string DataRowToString(DataRow pDr)
        {
            return Convert.ToString(pDr["OrgCode" "Name"].ToString());
        }
    }
}
使用系统;
使用Microsoft.SharePoint;
使用Microsoft.SharePoint.WebControl;
使用系统集合;
使用系统配置;
使用系统数据;
使用System.Web;
使用System.Web.Security;
使用System.Web.UI;
使用System.Web.UI.HTMLControl;
使用System.Web.UI.WebControl;
使用System.Web.UI.WebControl.WebParts;
使用系统文本;
使用System.Data.SqlClient;
使用System.Collections.Generic;
使用IDE_Utility.DBConnection;
名称空间ORG40.Layouts.ORG40
{
公共部分类组织搜索:LayoutsPageBase
{
受保护的无效页面加载(对象发送方、事件参数e)
{
}
受保护的void GetCompleteList(对象发送方,事件参数e)
{
数据集DS=新数据集();
SqlParameter sqlParamComp=新的SqlParameter();
sqlParamComp.ParameterName=“@oName”;
sqlParamComp.DbType=DbType.String;
sqlParamComp.Value=“%”+OrganizationName.Text+“%”;
SqlParameter[]sqlParams=新的SqlParameter[]{
新的SqlParameter(“@orgCode”,DBNull.Value),
sqlParamComp
};
DS=DBConnection.GetDataSet(“getL_组织”,CommandType.StoredProcess,sqlParams);
GridView1.DataSource=DS;
GridView1.DataBind();
}
[System.Web.Script.Services.ScriptMethod()]
[System.Web.Services.WebMethod]
公共静态字符串[]getNames(字符串前缀文本,整数计数)
{
数据集DS=新数据集();
SqlParameter sqlParamComp=新的SqlParameter();
sqlParamComp.ParameterName=“@oName”;
sqlParamComp.DbType=DbType.String;
sqlParamComp.Value=“%”+prefixText+“%”;
SqlParameter[]sqlParams=新的SqlParameter[]{
新的SqlParameter(“@orgCode”,DBNull.Value),
sqlParamComp
};
DS=DBConnection.GetDataSet(“getL_组织”,CommandType.StoredProcess,sqlParams);
DataTable Dt=新的DataTable();
Dt=DS.Tables[0].DefaultView.ToTable(true,新字符串[]{“OrgCode”,“Name”});
DataRow[]Dr=新的DataRow[Dt.Rows.Count];
Dt.Rows.CopyTo(Dr,0);
返回Array.ConvertAll(Dr,新转换器(DataRowToString));
}
公共静态字符串DataRowtString(DataRow pDr)
{
返回Convert.ToString(pDr[“OrgCode”“Name”].ToString());
}
}
}
我觉得答案就在两条线之间:

Dt=DS.Tables[0].DefaultView.ToTable(true,新字符串[]{“OrgCode”,“Name”})

和数组的返回行:

返回Convert.ToString(pDr[“OrgCode”“Name”].ToString())

我认为我的问题在于试图显示最后一行的组织代码。如果我只使用“Name”,它可以工作,但是每次我修改它时,文本框都不会显示任何内容,或者代码出错

我最近的想法是关于最后一行代码-我意识到
返回Convert.ToString(pDr[“OrgCode”“Name”]
是不正确的语法-我一直在尝试确定如何正确解释
[“OrgCode”“Name”]
中的多个列

如果有任何想法或想法,我将不胜感激


谢谢!

我也在ASP.NET论坛上问了这个问题,并在那里得到了答案。我苦苦挣扎的最后一句话是:

return Convert.ToString(pDr["OrgCode" "Name"].ToString());
设置为:

return (Convert.ToString(pDr["OrgCode"]) + " " + Convert.ToString(pDr["Name"]));
像冠军一样工作!感谢所有回顾这个问题的人