首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用asp.net web表单中的引导模式弹出窗口将数据发布到数据库

无法使用asp.net web表单中的引导模式弹出窗口将数据发布到数据库
EN

Stack Overflow用户
提问于 2018-10-30 22:39:44
回答 2查看 198关注 0票数 0

我使用的是asp.net网页表单,我想汤姆发布数据从模式弹出到数据库,这是不起作用的,但是只是把文本框在内容页面的主体它的保存数据很好,我需要使用模式弹出窗口,因为我想做的所有项目都需要这一点。我的代码如下

代码语言:javascript
复制
<script type="text/javascript">

    $(document).ready(function () {

        insertkpi();
    });


    function insertkpi() {
        $('#savebtn').click(function () {
            var kpi = {};
            kpi.Name = $('#TextBox1').val();
            kpi.initiative = $('#TextBox2').val();
            kpi.perfomance = $('#TextBox3').val();
            kpi.progress = $('#TextBox4').val();
            kpi.BaseTarget = $('#TextBox5').val();
            kpi.streachTarget = $('#TextBox6').val();
            kpi.Period = $('#TextBox7').val();

            $.ajax({
                url: 'addKpi.aspx/submitkpi',
                method: 'POST',
                contentType: 'application/json; charset=utf-8',
                data: '{item: ' + JSON.stringify(kpi) + '}',
                success: function () {
                    displayKPI();

                },

                error: function (xhr, status, p3, p4) {
                    console.debug(xhr);
                    var err = "Error " + " " + status + " " + p3;
                    if (xhr.responseText && xhr.responseText[0] == "{")
                        err = JSON.parse(xhr.responseText).message;
                    alert(err);
                }

            });
        });
    }


</script>

模式div

代码语言:javascript
复制
 <div class="modal" id="kpimodal" data-keyboad="false" data-backdrop="static" tabindex="-1">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <h4 class="modal-title">New KPI</h4>
                <button class="close" data-dismiss="modal">&times;</button>
                </div>
            <div class="modal-body" id="subdata">

                <div class="form-group">
                    <label id ="namlb">Name</label>
                    <input type="text" class="form-control" runat="server" placeholder ="name" id="nametxt" />
                </div>
                <div class="form-group">
                    <label id ="inlb">Initiative</label>
                    <input type="text" class="form-control" runat="server" placeholder ="initiative" id="inittxt" />
                </div>
                <div class="form-group">
                    <label id ="perflb">Perfomance</label>
                    <input type="text" class="form-control" runat="server" placeholder ="perfomance" id="perftxt" />
                </div>
                <div class="form-group">
                    <label id ="proglb">Progress</label>
                    <input type="text" class="form-control" runat="server" placeholder ="progress" id="progtxt" />
                </div>
                <div class="form-group">
                    <label id ="baselb">Base Target</label>
                    <input type="text" class="form-control" runat="server" placeholder ="base Target" id="basetxt" />
                </div>
                <div class="form-group">
                    <label id ="streachlb">Streach Target</label>
                    <input type="text" class="form-control" runat="server" placeholder ="streach target" id="strtxt" />
                </div>
                <div class="form-group">
                    <label id ="perlb">Target Period</label>
                    <input type="text" class="form-control" runat="server" placeholder ="Period" id="periodtxt" />
                </div>

                </div>
            <div class="modal-footer">
                <button class="btn-primary" runat="server" id="savebtn">Save</button>
                <button class="btn-primary" data-dismiss="modal">Cancel</button>
                </div>
            </div>
    </div>
代码语言:javascript
复制
 Enter New KPI

web服务中的webmethod

代码语言:javascript
复制
 [WebMethod]
    public static string submitkpi(insertkpi item)
    {
        string constring = System.Configuration.ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;
        using (SqlConnection conn = new SqlConnection(constring))
        {
            using (SqlCommand cmd = new SqlCommand("INSERT INTO KPIs (Name,Initiative,perfomance,progress,BaseTarget,streachTarget,Period) Values(@Name,@Initiative,@perfomance,@progress,@BaseTarget,@streachTarget,@Period)", conn))
            {
                try
                {
                conn.Open();
                cmd.Parameters.AddWithValue("@Name", item.Name);
                cmd.Parameters.AddWithValue("@Initiative", item.Initiative);
                cmd.Parameters.AddWithValue("@perfomance", item.perfomance);
                cmd.Parameters.AddWithValue("@progress", item.progress);
                cmd.Parameters.AddWithValue("@BaseTarget", item.BaseTarget);
                cmd.Parameters.AddWithValue("@streachTarget", item.streachTarget);
                cmd.Parameters.AddWithValue("@Period", item.Period);


                cmd.ExecuteNonQuery();
                }
                catch (Exception )
                {

                }
                finally
                {
                    conn.Close();
                }

            }
        }
EN

回答 2

Stack Overflow用户

发布于 2018-10-30 22:43:55

在你的kpi对象中有kpi.name set = $("#Textbox1").val()。然而,这在你的模式中是不存在的。在您的模式中,您的姓名文本框的ID是nametxt。所以使用kpi.name = $("#nametxt").val();创建您的对象。

票数 1
EN

Stack Overflow用户

发布于 2018-10-30 22:49:05

JSON.stringfy对我来说似乎不正常,你会得到无效的json尝试,如下所示

代码语言:javascript
复制
 $.ajax({
            url: 'addKpi.aspx/submitkpi',
            method: 'POST',
            contentType: 'application/json; charset=utf-8',
            data:  JSON.stringify({item:kpi}),
            success: function () {
                displayKPI();

            },
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53066790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档