C# ASP网站求助 急
本帖最后由 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; } } }
顶一下 CurrConfigPcInputsDataSet.PcInputs.InputName这应该是实体类里的属性吧?
如果是实体的话 你这是怎么赋值的 。
把这个类在贴出来 灰常感谢!这个我觉得是的
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.Columns)
{
if (c.ColumnName == "RevisionNum")
{
colNum = c.Ordinal;
break;
}
}
revision = revDataSet.Tables.Rows.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 = "U";
}
}
configuration.EnterPage("", configCode, revision, 1, "INPUTS", 1, 0, "", value, out outVar, genConfig);
HttpContext.Current.Session["CurrConfigConfigurationValueDataSet"] = value;
HttpContext.Current.Session["CurrentConfigGeneratedConfigurationDataSet"] = genConfig;
}
LoadConfigurationTest();
} 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 你这是读取的配置文件里的数据吧? 你检查配置文件里有没有InputName这个键值 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
代码看的太乱了 一看就知道你是复制的源码吧 ,只能看到这了, 在看不出来了
ID我找到了 但是是在不同的地方print出来 怎么存进一个array里呢 有这方面资料不
int[] a = new int;
for(int i =0;i<ID.Count;i++)
{
a=id
}
页:
[1]