马上加入IBC程序猿 各种源码随意下,各种教程随便看! 注册 每日签到 加入编程讨论群

C#教程 ASP.NET教程 C#视频教程程序源码享受不尽 C#技术求助 ASP.NET技术求助

【源码下载】 社群合作 申请版主 程序开发 【远程协助】 每天乐一乐 每日签到 【承接外包项目】 面试-葵花宝典下载

官方一群:

官方二群:

C# ASP网站求助 急

  [复制链接]
查看8589 | 回复9 | 2014-6-26 20:53:26 | 显示全部楼层 |阅读模式
本帖最后由 allyssa 于 2014-6-26 20:55 编辑

大家好 第一次发帖 我是新手 刚接触C#和ASP.net 网站别人已经搭好了 目前需要获取用户输入的数据 然后写进XML文件中
网站界面的设计是在EPICOR里 网页是自动实时生成的 写XML的关键是找到ID 但是目前毫无头绪
source code的一部分贴在这里 求大家帮忙指教啊。。。怎么找到ID
CurrConfigPcInputsDataSet.PcInputs.InputName是生成不同的value 如果我没理解错的话。。。
贴出了一些关键部分

    private void LoadConfigurationTest()
    {
        Epicor.Mfg.BO.PcInputsDataSet CurrConfigPcInputsDataSet = (PcInputsDataSet)Session["CurrConfigPcInputsDataSet"];
        Epicor.Mfg.BO.ConfigurationValueDataSet ConfigurationValue = (ConfigurationValueDataSet)Session["CurrConfigConfigurationValueDataSet"];

        btnAddToQuote.Style.Add("left", (int)(330) + int.Parse(ConfigurationManager.AppSettings["ConfiguratorXAxis"]) + "px");
        btnAddToQuote.Style.Add("position", "absolute");
        btnAddToQuote.Style.Add("top", -25 + int.Parse(ConfigurationManager.AppSettings["ConfiguratorYAxis"]) + "px");


        btnCreateNewQuote.Style.Add("left", (int)(440) + int.Parse(ConfigurationManager.AppSettings["ConfiguratorXAxis"]) + "px");
        btnCreateNewQuote.Style.Add("position", "absolute");
        btnCreateNewQuote.Style.Add("top", -25 + int.Parse(ConfigurationManager.AppSettings["ConfiguratorYAxis"]) + "px");


        lblQty.Style.Add("left", 236 + int.Parse(ConfigurationManager.AppSettings["ConfiguratorXAxis"]) + "px");
        lblQty.Style.Add("position", "absolute");
        lblQty.Style.Add("top", -22 + int.Parse(ConfigurationManager.AppSettings["ConfiguratorYAxis"]) + "px");
        txtQty.Style.Add("left", 273 + int.Parse(ConfigurationManager.AppSettings["ConfiguratorXAxis"]) + "px");
        txtQty.Style.Add("position", "absolute");
        txtQty.Style.Add("top", -24 + int.Parse(ConfigurationManager.AppSettings["ConfiguratorYAxis"]) + "px");
        //lblIncomplete.Style.Add("left", 390 + int.Parse(ConfigurationManager.AppSettings["ConfiguratorXAxis"]) + "px");
        lblIncomplete.Style.Add("left", 575 + int.Parse(ConfigurationManager.AppSettings["ConfiguratorXAxis"]) + "px");
        lblIncomplete.Style.Add("position", "absolute");
        lblIncomplete.Style.Add("top", -22 + int.Parse(ConfigurationManager.AppSettings["ConfiguratorYAxis"]) + "px");
        lnkCatalog.Style.Add("left", 676 + int.Parse(ConfigurationManager.AppSettings["ConfiguratorXAxis"]) + "px");
        lnkCatalog.Style.Add("position", "absolute");
        lnkCatalog.Style.Add("top", -52 + int.Parse(ConfigurationManager.AppSettings["ConfiguratorYAxis"]) + "px");

        string IncrementsID;

        ///////////////////////////////////////////// load form ////////////////////////////////////////////////////////////////////////////
        for (int i = 0; i <= CurrConfigPcInputsDataSet.PcInputs.Rows.Count - 1; i++)
        {
            if (CurrConfigPcInputsDataSet.PcInputs.SummaryLabel == "INT" &&  !Master.userInfo.AllowInternialOptions   || CurrConfigPcInputsDataSet.PcInputs.Invisible == true)
            {
                if (CurrConfigPcInputsDataSet.PcInputs.InputName.ToString() != "TXTTEMP_FINISH")
                {
                    continue;
                }
            }

            switch (CurrConfigPcInputsDataSet.PcInputs.ControlType.ToString())
            {
                case "COMBO-BOX":
                    DropDownList thisCb = new DropDownList();

                    thisCb.SelectedIndexChanged += new EventHandler(HandlePostBack);

                    thisCb.ID = CurrConfigPcInputsDataSet.PcInputs.InputName;   ///////drop down list///////////

                    thisCb.AutoPostBack = true;
                    thisCb.Style.Add("left", (CurrConfigPcInputsDataSet.PcInputs.xPos + int.Parse(ConfigurationManager.AppSettings["ConfiguratorXAxis"])) + "px");
                    thisCb.Style.Add("position", "Absolute");
                    thisCb.Style.Add("top", (CurrConfigPcInputsDataSet.PcInputs.yPos + int.Parse(ConfigurationManager.AppSettings["ConfiguratorYAxis"])) + "px");
                    thisCb.Style.Add("font-size", "24px");
                    thisCb.Style.Add("font-family", "Tahoma");
                    thisCb.Style.Add("z-index", "999");
                    thisCb.DataSource = CurrConfigPcInputsDataSet.PcInputs.ListItems.Split(',');
                    thisCb.Width = CurrConfigPcInputsDataSet.PcInputs.pWidth + 12;
                    thisCb.Height = CurrConfigPcInputsDataSet.PcInputs.pHeight;

                    thisCb.TabIndex = (Int16)CurrConfigPcInputsDataSet.PcInputs.TabOrder;

                    thisCb.DataBind();

                    foreach (ListItem li in thisCb.Items)
                    {
                        li.Text = Server.HtmlDecode(li.Text);
                        li.Value = Server.HtmlDecode(li.Value);
                    }

                    if (CurrConfigPcInputsDataSet.PcInputs.pHeight == 0 && CurrConfigPcInputsDataSet.PcInputs.pWidth == 0)
                    {
                        thisCb.Visible = false;
                    }

                    SetConfigValue(thisCb, thisCb.ID);

                    if (thisCb.Items.Count > 1)
                    {
                        thisCb.Items.Insert(0, "");
                    }

                    ConfigCell.Controls.Add(thisCb);
                    if (CurrConfigPcInputsDataSet.PcInputs.SideLabel != "")
                    {
                        Label cbl = new Label();   //////////////////// 1/2" Increments///////////////////////////
                        cbl.ID = CurrConfigPcInputsDataSet.PcInputs.InputName + "label";

                        cbl.Text = CurrConfigPcInputsDataSet.PcInputs.SideLabel;
                        cbl.Style.Add("left", ((CurrConfigPcInputsDataSet.PcInputs.xPos - 200) + int.Parse(ConfigurationManager.AppSettings["ConfiguratorXAxis"])) + "px");
                        cbl.Style.Add("width", "195px");
                        cbl.Style.Add("position", "Absolute");
                        cbl.Style.Add("top", (CurrConfigPcInputsDataSet.PcInputs.yPos + int.Parse(ConfigurationManager.AppSettings["ConfiguratorYAxis"])) + "px");
                        cbl.Style.Add("text-align", "right");
                        cbl.Style.Add("font-size", "24px");
                        cbl.Style.Add("font-family", "Tahoma");
                        ConfigCell.Controls.Add(cbl);
                    }

                    break;



                 default:
                    break;
            }
        }
    }



阿甘大手 | 2014-6-26 20:55:36 | 显示全部楼层
顶一下
ibcadmin | 2014-6-26 20:59:06 | 显示全部楼层
CurrConfigPcInputsDataSet.PcInputs.InputName  这应该是实体类里的属性吧?  
如果是实体的话 你这是怎么赋值的 。  
把这个类在贴出来
C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
allyssa | 2014-6-26 21:07:25 | 显示全部楼层
  灰常感谢!这个我觉得是的
private void SetupConfig()
    {
        //TODO Convert partRev and PartRevSearch calls to BO class
        Epicor.Mfg.BO.Configuration configuration = new Epicor.Mfg.BO.Configuration(((Epicor.Mfg.Core.Session)Session["EpiSession"]).ConnectionPool);
        PartRevSearch partRev = new PartRevSearch(((Epicor.Mfg.Core.Session)Session["EpiSession"]).ConnectionPool);
        ConfigurationSequenceDataSet configDataSet = new ConfigurationSequenceDataSet();
        GeneratedConfigurationDataSet genConfig = new GeneratedConfigurationDataSet();
        PcInputsDataSet pcInputs = new PcInputsDataSet();
        ConfigurationValueDataSet value = new ConfigurationValueDataSet();
        PartRevSearchDataSet revDataSet = new PartRevSearchDataSet();
        string configCode = Request.QueryString["config"];
        string revision;


        ////////////////////////////////////////////////// load database form ///////////////////////////////////////////////////////////////////////////
        if (Session["CurrConfigConfigurationValueDataSet"] == null || Request.QueryString["config"].ToString() != Session["config"].ToString())//DP changed 2nd if pram '.ToString()'
        {
            bool outVar;
            Session["config"] = Request.QueryString["config"];

            revDataSet = partRev.GetRows("PartNum = '" + configCode + "' AND APPROVED=true BY RevisionNum", 100, 0, out outVar);
            int colNum = 0;
            foreach (System.Data.DataColumn c in revDataSet.Tables[0].Columns)
            {
                if (c.ColumnName == "RevisionNum")
                {
                    colNum = c.Ordinal;
                    break;
                }
            }

            revision = revDataSet.Tables[0].Rows[0][colNum].ToString();

            Session["revision"] = revision;

            string nonApprovMesg = "";

            configDataSet = configuration.GetConfigurationSequence("INPUTS", "", "", "", "", "", "", "", configCode, revision, out nonApprovMesg);

            genConfig = configuration.GetGeneratedConfiguration("PYI", configCode, revision, "INPUTS", "", "");

            pcInputs = configuration.GetInputs("", configCode, revision, 0, "", "", "INPUTS");
            Session["CurrConfigPcInputsDataSet"] = pcInputs;
            configuration.GetValues("", configCode, revision, "INPUTS", value, 0, "", "", "", genConfig);
            Session["CurrConfigConfigurationValueDataSet"] = value;

            foreach (ConfigurationValueDataSet.ConfigurationValueRow r in value.ConfigurationValue)
            {
                r.RowMod = "U";
            }


            Int32 rowModColumn = 0;

            foreach (System.Data.DataTable t in genConfig.Tables)
            {
                foreach (System.Data.DataColumn c in t.Columns)
                {
                    if (c.ColumnName.ToUpper() == "ROWMOD")
                    {
                        rowModColumn = c.Ordinal;
                        break;
                    }
                }

                foreach (System.Data.DataRow r in t.Rows)
                {
                    r[rowModColumn] = "U";
                }
            }

            configuration.EnterPage("", configCode, revision, 1, "INPUTS", 1, 0, "", value, out outVar, genConfig);


            HttpContext.Current.Session["CurrConfigConfigurationValueDataSet"] = value;
            HttpContext.Current.Session["CurrentConfigGeneratedConfigurationDataSet"] = genConfig;
        }
        LoadConfigurationTest();
    }
allyssa | 2014-6-26 21:18:24 | 显示全部楼层
ibcadmin 发表于 2014-6-26 20:59
CurrConfigPcInputsDataSet.PcInputs.InputName  这应该是实体类里的属性吧?  
如果是实体的话 你这是怎 ...

还有一个规律 生成的动态ID都是ct100_cphMain_打头
像Single 对应ct100_cphMain_P01_P01_RDO_SorD_0
Duplex 对应ct100_cphMain_P01_RDO_SorD_1
Element Type对应 ct100_cphMain_TEXT5
Sheath Diameter对应 ct100_cphMain_TEXT6
Element Connection 对应ct100_cphMain_TEXT40
Well Type and Bore Size 对应 ct100_cphMain_TEXT8
ibcadmin | 2014-6-26 21:18:53 | 显示全部楼层
  你这是读取的配置文件里的数据吧?   你检查配置文件里有没有InputName这个键值
C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
allyssa | 2014-6-26 21:37:19 | 显示全部楼层
ibcadmin 发表于 2014-6-26 21:18
你这是读取的配置文件里的数据吧?   你检查配置文件里有没有InputName这个键值

嗯 只找到了PcInputs 和ConfigurationValueDataSet的

PcInputsDataSet pcInputs = new PcInputsDataSet();
        ConfigurationValueDataSet value = new ConfigurationValueDataSet();
  configDataSet = configuration.GetConfigurationSequence("INPUTS", "", "", "", "", "", "", "", configCode, revision, out nonApprovMesg);

            genConfig = configuration.GetGeneratedConfiguration("PYI", configCode, revision, "INPUTS", "", "");

            pcInputs = configuration.GetInputs("", configCode, revision, 0, "", "", "INPUTS");
            Session["CurrConfigPcInputsDataSet"] = pcInputs;
            configuration.GetValues("", configCode, revision, "INPUTS", value, 0, "", "", "", genConfig);
            Session["CurrConfigConfigurationValueDataSet"] = value;

那个InputName第一次出现就是这句
if (CurrConfigPcInputsDataSet.PcInputs.InputName.ToString() != "TXTTEMP_FINISH")
                {
                    continue;
                }
ibcadmin | 2014-6-26 21:52:27 | 显示全部楼层
  代码看的太乱了 一看就知道你是复制的源码吧 ,  只能看到这了, 在看不出来了
C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
allyssa | 2014-6-28 05:59:31 | 显示全部楼层
ibcadmin 发表于 2014-6-26 21:52
代码看的太乱了 一看就知道你是复制的源码吧 ,  只能看到这了, 在看不出来了

ID我找到了 但是是在不同的地方print出来 怎么存进一个array里呢 有这方面资料不
ibcadmin | 2014-6-28 09:16:14 | 显示全部楼层

int[] a = new int[ID.Count()];
for(int i =0;i<ID.Count;i++)
{
a[i]=id
}
C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则