2016-07-02 107 views
1

我有多个Html inputText在页面加载时由C#生成。这是我的存储过程:如何从C#生成的html输入中获取多个值

ALTER PROCEDURE [dbo].[CharacteristicsFetch] 
AS 
BEGIN 
    SELECT chId, chName, chDesc 
    FROM Characteristics 
    ORDER BY chName 
END 

和我的C#代码:

public string generate_CharValues() 
{ 
    string post = ""; 

    DataTable dt = cls.Fill_In_DataTable("CharacteristicsFetch"); 

    if (dt.Rows.Count > 0) 
    { 
     for (int i = 0; i < dt.Rows.Count; i++) 
     { 
      post += "<input id='" + dt.Rows[i]["chId"] + "' name='txt" + dt.Rows[i]["chId"] + "' title='" + dt.Rows[i]["chName"] + "' type='number' required='required' />"; 
     } 
    } 

    return post; 
} 

我打电话从.aspx页面这个功能,我想使用它:

charValues = cls.generate_CharValues(); 

该代码将生成用户必须提供值的多个html输入。每个输入文本都有一个与其数据库ID相关的ID。现在我想获得输入值和输入ID然后把它们放在一个数据表中发送到数据库。

这是我在提交测试按钮尝试:

DataTable dtChar = new DataTable(); 

dtChar.Columns.AddRange(new DataColumn[3] { 
     new DataColumn("chId", typeof(string)), 
     new DataColumn("animalId", typeof(string)), 
     new DataColumn("Rank", typeof(string))}); 

string animalId = "1";//animalId 
int getcount = int.Parse(clsData.Select_One_Data("CharacteristicsGetCount", "chCount").ToString()); 

for(int i = 0; i < getcount; i++) 
{ 
    string chId = "";//input text id 
    string rank = "";//Request.Form["input text value"] 
    dtChar.Rows.Add(chId, animalId, rank); 
} 

与JS或JQuery的任何方法,我也会有帮助。由于

+0

IM使用SQLSERVER代码遗憾2008 r2和asp.net 4.0 –

回答

0

我为错误的答案 我在匆忙 试试这个 它入锅,我和字符串

<form id="form1" runat="server"> 
    <div> 
     <asp:TextBox ID="TextBox4" runat="server"></asp:TextBox> 
     <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox> 
     <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox> 
     <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
     <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="check()" /> 
     <asp:Button ID="Button2" runat="server" Text="Button" OnClick="Button1_Click"/> 
     <input type="hidden" id="hdn" runat="server" /> 
    </div> 
    <script> 
      function check() { 
      var val = document.getElementsByTagName("input"); 
      var d = ""; 
      for (var i = 0; i < val.length; i++) { 
       if (val[i].value != null && val[i].type == 'number') { 
        d += val[i].value+','; 
       } 
      } 
      d = d.slice(0, d.length-1); 
      document.getElementById("hdn").value = d; 
     } 
</script> 
</form> 

的回报清单,背后

protected void Button1_Click(object sender, EventArgs e) 
{ 
    string cd = hdn.Value; 
List<string> values =cd.Split(',').ToList(); 
} 
+0

抱歉不起作用,并且与我的问题无关: –

+0

你可以做onclintclick和onclick为同一个按钮 –

相关问题