如何从文本框和下拉列表将值插入数据库

火鸡

我不太擅长.net或sql。

问题是我有一个Web表单和一个数据库。该表格将允许用户在文本框和下拉列表中输入信息。下拉列表中的数据将保存在表格中。

因此,我正在从表中读取值,当用户填写表格并从下拉列表中选择所需的选项时,应将文本框中的数据和选定的下拉列表发送回去,以保存在数据库中。

我已经成功地从数据库中读取了该值,并将其显示在下拉列表中,如以下代码所示:

 public class state
        {
            public string stateID { get; set; }
            public string stateName { get; set; }
        }


        [WebMethod]
        public static List<state> PopulateDropDownList()
        {
            DataTable dt = new DataTable();
            List<state> objDept = new List<state>();



            SqlConnection con = new SqlConnection("Data Source = ****; Initial Catalog = LCF2016; Integrated Security = true");

            {
                using (SqlCommand cmd = new SqlCommand("SELECT STATE_ID, STATE_Name FROM state", con))
                 {
                     con.Open();
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                da.Fill(dt);
                if (dt.Rows.Count > 0)
                {
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        objDept.Add(new state
                        {
                            stateID = dt.Rows[i]["STATE_ID"].ToString(),
                            stateName = dt.Rows[i]["STATE_Name"].ToString()
                        });
                    }
                }
                return objDept;
            }
        }
    }
<script src="
http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
     <script type="text/javascript">
          $(document).ready(function () {
               $.ajax({
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    //url is the path of our web method (Page name/functionname)
                    url: "Default.aspx/PopulateDropDownList",
                    data: "{}",
                    dataType: "json",
                    //called on jquery ajax call success
                    success: function (result) {
                        $('#ddlstate').empty();
                         $('#ddlstate').append("<option value='0'>-Select-</option>");
                         $.each(result.d, function (key, value) {

 $("#ddlstate").append($("<option></option>").val(value.stateID).html(value.stateName));
                         });
                    },
                    //called on jquery ajax call failure
                    error: function ajaxError(result) {
                         alert(result.status + ' : ' + result.statusText);
                    }
               });
          });
     </script>



<p>State</p>
         <asp:DropDownList ID="ddlstate" runat="server" Width="160px" />

但是,即使我成功调用了要显示在下拉列表中的数据,也无法将所选数据以及文本框中的数据重新插入数据库中。换句话说,数据不会保存到数据库中。

这是我在“单击提交时”插入数据的代码:

 public partial class Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Page.IsPostBack == true)
            {
                Label1.Text = ("**Thanks for entering your information");
            }

        }

          protected void Button1_Click(object sender, EventArgs e)
          {

            using (SqlConnection vid = new SqlConnection("Data Source = ****; Initial Catalog = LCF2016; Integrated Security = true"))
            {
                vid.Open();
                using (SqlCommand xp = new SqlCommand("insert into LCF2016 (Fname, Lname, Email, Birthdate, Phone, Address, City, STATE_ID, Zip, Country_ID, Days_Per_Month, Primary_Language, Secondary_Language, Occupation_ID, HearAbout_ID, Other_Skills) Values(@Fname, @Lname, @Email, @Birthdate, @Phone, @Address, @City, @STATE_ID,  @Zip, @Country_ID,  @Days_Per_Month, @Primary_Language, @Secondary_Language, @Occupation_ID, @HearAbout_ID @Other_Skills)", vid))

                {
                    xp.Parameters.AddWithValue("@Fname", TextBox1.Text);
                    xp.Parameters.AddWithValue("@Lname", TextBox2.Text);
                    xp.Parameters.AddWithValue("@Email", TextBox3.Text);
                    xp.Parameters.AddWithValue("@Birthdate", TextBox4.Text);
                    xp.Parameters.AddWithValue("@Phone", TextBox5.Text);
                    xp.Parameters.AddWithValue("@Address", TextBox6.Text);
                    xp.Parameters.AddWithValue("@City", TextBox7.Text);
                    xp.Parameters.AddWithValue("@STATE_ID", ddlstate.SelectedValue);
                    xp.Parameters.AddWithValue("@Zip", TextBox8.Text);
                    xp.Parameters.AddWithValue("@country_ID", ddlcountry.SelectedValue);
                    xp.Parameters.AddWithValue("@Days_Per_Month", TextBox10.Text);
                    xp.Parameters.AddWithValue("@Primary_Language", ddllangp.SelectedValue);
                    xp.Parameters.AddWithValue("@Secondary_Language", ddllangs.SelectedValue);
                    xp.Parameters.AddWithValue("@Occupation_ID", ddloccup.SelectedValue);
                    xp.Parameters.AddWithValue("@HearAbout_ID", ddlhearabout.SelectedValue);
                    xp.Parameters.AddWithValue("@Other_Skills", TextBox15.Text);
                    xp.ExecuteNonQuery();

                }

            }

我得到的错误是

无效的回发或回调参数。使用配置或页面中的<%@页面EnableEventValidation =“ true”%>启用事件验证。为了安全起见,此功能验证回发或回调事件的参数源自最初呈现它们的服务器控件。如果数据有效且预期,请使用ClientScriptManager.RegisterForEventValidation方法以注册回发或回调数据以进行验证。

纳扎克

尝试,通过jQuery

$( "#ddlstate" ).change(function() {
  $('[id*=Hiddenfield1]').attr('value', $( "#ddlstate" ).val());
});

身体

<asp:HiddenField ID="Hiddenfield1" runat="server">

代码

xp.Parameters.AddWithValue("@STATE_ID", Hiddenfield1.vlue);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将文本框中的数据和日期/时间插入Access数据库?

来自分类Dev

如何通过存储过程将“空文本框”值插入SQL 2008数据库?

来自分类Dev

将文本从文本框插入数据库

来自分类Dev

将数据从文本框插入数据库

来自分类Dev

使用文本框和下拉列表来过滤数据库的搜索表(实时搜索)

来自分类Dev

单击“提交”按钮时,如何使用php oops概念将文本框值插入数据库mysql

来自分类Dev

如何根据数据库中的下拉选择更改文本框值

来自分类Dev

如何将动态添加的文本框插入MySQL数据库

来自分类Dev

将下拉列表中的值插入数据库表

来自分类Dev

一键单击如何在数据库中插入文本框值和dxDatagrid所有选定值?

来自分类Dev

在下拉列表中更改事件从数据库加载数据并填充文本框

来自分类Dev

如何将下拉列表中的其他选定值插入数据库

来自分类Dev

使用访问数据库将具有多个值的项目从列表框显示到文本框中

来自分类Dev

如何在jsp中的数据库中对下拉值制作多个依赖的文本框

来自分类Dev

如何在MySQL数据库中插入带有文件上传器值的多个文本框?

来自分类Dev

如何获取逗号分隔的循环文本框值,在jSON中插入到jquery的mysql数据库中

来自分类Dev

将数据插入数据库后文本框自动刷新

来自分类Dev

将int数据库列的文本框转换为数字下拉菜单

来自分类Dev

如何使用实体框架将 WPF 文本框中的新文本值添加到数据库?

来自分类Dev

C# 检查文本框文本与存储在列表中的数据库中的值相同

来自分类Dev

将下拉列表和单选列表的值相乘以显示在文本框中?

来自分类Dev

如何根据选定的值并参考php中的数据库将值获取到文本框?

来自分类Dev

PHP将多个复选框和文本框数组插入MySQL数据库

来自分类Dev

根据下拉列表选择值从数据库中将下拉选择值从数据库中获取到两个文本框idin mvc4 jquery

来自分类Dev

如何生成多个文本框然后插入数据库

来自分类Dev

如何将多个动态文本框值保存到 SQL Server 数据库中

来自分类Dev

文本框值未保存到数据库

来自分类Dev

动态文本框值到数据库

来自分类Dev

如何在本地存储中从文本框和下拉列表中保存值?

Related 相关文章

  1. 1

    如何将文本框中的数据和日期/时间插入Access数据库?

  2. 2

    如何通过存储过程将“空文本框”值插入SQL 2008数据库?

  3. 3

    将文本从文本框插入数据库

  4. 4

    将数据从文本框插入数据库

  5. 5

    使用文本框和下拉列表来过滤数据库的搜索表(实时搜索)

  6. 6

    单击“提交”按钮时,如何使用php oops概念将文本框值插入数据库mysql

  7. 7

    如何根据数据库中的下拉选择更改文本框值

  8. 8

    如何将动态添加的文本框插入MySQL数据库

  9. 9

    将下拉列表中的值插入数据库表

  10. 10

    一键单击如何在数据库中插入文本框值和dxDatagrid所有选定值?

  11. 11

    在下拉列表中更改事件从数据库加载数据并填充文本框

  12. 12

    如何将下拉列表中的其他选定值插入数据库

  13. 13

    使用访问数据库将具有多个值的项目从列表框显示到文本框中

  14. 14

    如何在jsp中的数据库中对下拉值制作多个依赖的文本框

  15. 15

    如何在MySQL数据库中插入带有文件上传器值的多个文本框?

  16. 16

    如何获取逗号分隔的循环文本框值,在jSON中插入到jquery的mysql数据库中

  17. 17

    将数据插入数据库后文本框自动刷新

  18. 18

    将int数据库列的文本框转换为数字下拉菜单

  19. 19

    如何使用实体框架将 WPF 文本框中的新文本值添加到数据库?

  20. 20

    C# 检查文本框文本与存储在列表中的数据库中的值相同

  21. 21

    将下拉列表和单选列表的值相乘以显示在文本框中?

  22. 22

    如何根据选定的值并参考php中的数据库将值获取到文本框?

  23. 23

    PHP将多个复选框和文本框数组插入MySQL数据库

  24. 24

    根据下拉列表选择值从数据库中将下拉选择值从数据库中获取到两个文本框idin mvc4 jquery

  25. 25

    如何生成多个文本框然后插入数据库

  26. 26

    如何将多个动态文本框值保存到 SQL Server 数据库中

  27. 27

    文本框值未保存到数据库

  28. 28

    动态文本框值到数据库

  29. 29

    如何在本地存储中从文本框和下拉列表中保存值?

热门标签

归档