通过C#查找Id,输入类型的文本

时间:2012-10-17 10:46:07

标签: c# jquery asp.net

我已将输入(文本,复选框,下拉列表)保存在一个html页面中,并在asp:panel中加载,加载后用户可以在其中输入值。现在通过单击Asp:按钮我必须找到输入类型并保存到数据库,它是如何实现的。

输入代码将采用这种格式。

<label style="left: 46px; top: 73px; position: relative;" id="Llb1" onmouseup="MLup(this.id)" class="ui-draggable" onmousedown="MLdown(this.id)"> Enter the value </label>
<input style="left: 170px; top: 113px; position: relative;" id="T1" onmouseup="mUp(this.id)" class="ui-draggable"  onmousedown="mDown(this.id)" value="" type="text">

这个输入类型我必须找到那些id和文本......怎么可能......

3 个答案:

答案 0 :(得分:1)

首先,您无法在服务器上获得标签的价值。要获取动态文本框值,您需要为其指定name属性,并通过该名称从Request.Form集合回发获取值。

答案 1 :(得分:0)

您至少有两种方法可以实现它。

  • 创建一些隐藏字段以及您正在创建的字段,并将字段类型值和其他所需元数据放入隐藏字段中。当您发布表单时,这些隐藏字段将为您提供有关表单的元数据,您可以使用该表单将其正确插入数据库。

  • 动态创建控件时,使用ajax请求通知服务器,以便服务器事先知道这些字段。您可以在会话中存储此信息,当表单发回时,您可以使用它来从请求对象获取数据。

在任何一种情况下,您都必须使用原始请求对象来获取字段的值,因为asp.net不会解析页面上不存在的字段,因为它们不会成为视图状态的一部分。 / p>

最好使用ajax发布整个表单,而不是以正常方式发布。这样,您可以确保仅发布动态数据。

答案 2 :(得分:0)

在这里,我找到了一个解决方案,用于查找文本ID,选择,标签通过html按钮单击

 <input type="button" id="save" value="submit" onclick="submitpage()" />

然后在提交页面

<script type="text/javascript">
          function submitpage() {
              var completeids = new Array();
              var completevalues = new Array();
              var completetype = new Array();
              var completeselected = new Array();
              var labelvalues = new Array();
             // var name = "abc";
              var name = document.getElementById('<%=username.ClientID %>').innerHTML
              $('input[type="text"]').each(function () {
                  completeids.push($(this).attr('id'));
                  completetype.push('TEXTBOX');
                  completevalues.push($(this).attr('value'));
                  completeselected.push('no');

              });
              $('label').each(function () {
                  completeids.push($(this).attr('id'));
                  completevalues.push($('label[id= ' + $(this).attr('id') + ']').html());
                  labelvalues.push($('label[id= ' + $(this).attr('id') + ']').html());
                  completetype.push('LABEL');
                  completeselected.push('no');

              });
              $('select').each(function () {
                  completeids.push($(this).attr('id'));
                  completevalues.push($(this).val());
                  completetype.push('DROPDOWN');
                  completeselected.push('no');

              });
              $('input[type="checkbox"]').each(function () {
                  completeids.push($(this).attr('id'));
                  completevalues.push($('label[for=' + $(this).attr('id') + ']').html());
                  completetype.push('CHECKBOX');
                  completeselected.push($(this).attr('checked'));

              });
              $('input[type="radio"]').each(function () {
                  completeids.push($(this).attr('id'));
                  completevalues.push($('label[for=' + $(this).attr('id') + ']').html());
                  completetype.push('RADIOBUTTON');
                  completeselected.push($(this).attr('checked'));

              });
              $('input[type="file"]').each(function () {
                  completeids.push($(this).attr('id'));
                  //completevalues.push('not yet done');
                  completevalues.push($(this).attr('value'));

                  completetype.push('FILE');
                  completeselected.push('no');

              });

              var loc = window.location.href;
              $.ajax({
                  type: 'POST',
                  url: loc + "/GetSaved",
                  data: "{getcompleteids :'" + completeids + "',getcompletevalues :'" + completevalues + "',getcompletetypes :'" + completetype + "',getcompleteselected :'" + completeselected + "',getlabelvalue :'" + labelvalues + "',formname:'"+name+"'}",
                  contentType: "application/json; charset=utf-8"

              })
            .success(function (response) {
                alert(response.d);

            })
            .error(function (response) {
                alert(response.d);
            });

          }

    </script>

在我用过的c#代码......

 [WebMethod]
    public static string GetSaved(string getcompleteids, string getcompletevalues, string getcompletetypes, string getcompleteselected, string getlabelvalue, string formname)
    {

        string[] completeids = getcompleteids.Split(',');
        string[] completevalues = getcompletevalues.Split(',');
        string[] completetypes = getcompletetypes.Split(',');
        string[] completeselected = getcompleteselected.Split(',');
        string[] labelvalues = getlabelvalue.Split(',');
         SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["dynamic"].ConnectionString);
        string FORMNAME = labelvalues[0];
        for (int i = 0; i <= completeids.Length-1; i++)
        {
            con.Open();
                                                                                        //FORM_NAME,     USER_NAME         ,CONTRO_TYPE,             CONTROL_ID,        CONTROL_VALUE,                CONTROL_SELECTED
            SqlCommand cmd = new SqlCommand("INSERT INTO CONTROLS_INFORMATION VALUES('" + FORMNAME + "',' "+formname+" ','" + completetypes[i] + "','" + completeids[i] + "','" + completevalues[i] + "','" + completeselected[i] + "')", con);
            cmd.ExecuteNonQuery();
            con.Close();
        }



        return "successfully";

    }

已经完成.. 希望它对像我这样的人有用......嗯...