简体   繁体   English

从标签文本字段获取数据的问题

[英]Issue in getting data from Label text field

Following code I am using in rating system. 以下代码我在评分系统中使用。 I am able to print text from script to label but I am not able to store it in the database. 我可以将文本从脚本打印到标签,但无法将其存储在数据库中。 If I store it in database, it is showing zero only for the id=@a1 but all other values are getting stored into database. 如果我将其存储在数据库中,则它仅对id=@a1显示为零,但所有其他值都将存储到数据库中。

Aspx page Aspx页面

 <html> <head> <script> function postToController1() { for (i = 0; i < document.getElementsByName('rating').length; i++) { if (document.getElementsByName('rating')[i].checked == true) { var ratingValue = document.getElementsByName('rating')[i].value; break; } } document.getElementById("A1").innerHTML = ratingValue; //alert(ratingValue); } </script> </head> <body> <form id="form1" runat="server" style="text-align:center" class="rating1" method="post"> <div class="container-fluid bg-1 text-center"> <table class="table1"> <tr> <td> <asp:Label ID="Question1" CssClass="lb1" runat="server" text="Q1"></asp:Label> </td> <td class="rating" id="Q1"> <input type="radio" id="qs15" name="rating" value="5" onclick="postToController1();" /> <label class="full" for="qs15" title="Awesome - 5 stars"></label> <input type="radio" id="qs14" name="rating" value="4" onclick="postToController1();" /> <label class="full" for="qs14" title="Pretty good - 4 stars"></label> <input type="radio" id="qs13" name="rating" value="3" onclick="postToController1();" /> <label class="full" for="qs13" title="Average - 3 stars"></label> <input type="radio" id="qs12" name="rating" value="2" onclick="postToController1();" /> <label class="full" for="qs12" title="Poor - 2 stars"></label> <input type="radio" id="qs11" name="rating" value="1" onclick="postToController1();" /> <label class="full" for="qs11" title="Very Poor - 1 star"></label> </td> <td> <asp:Label ID="A1" CssClass="lb1" runat="server"></asp:Label> <asp:Label ID="g1" CssClass="lb1" runat="server" Text=" of 5"></asp:Label> </td> </tr> </table> <asp:Button ID="Button1" CssClass="button button1" runat="server" Text="Submit" /> </div> </form> </body> </html> 

VB code behind VB代码后面

    Public Sub GetRating()
    Dim dt As New DataTable()
    Dim adp As New SqlDataAdapter()
    Dim cmd As New SqlCommand()
    Dim connectionString As String =ConfigurationManager.ConnectionStrings("DefaultConnection").ConnectionString
    Dim cn As New SqlConnection(connectionString)
    cn.Open()
    Try
      cmd = New SqlCommand("RatingStorage1", cn)
       cmd.Parameters.AddWithValue("@DID", DID.Text.Trim())
       cmd.Parameters.AddWithValue("@EMPID", EMPID.Text.Trim())
       cmd.Parameters.AddWithValue("@SNL", SNL.Text.Trim())
       cmd.Parameters.AddWithValue("@SNB", SNB.Text.Trim())
        cmd.Parameters.AddWithValue("@A1", A1.Text)
       cmd.CommandType = CommandType.StoredProcedure
        cmd.ExecuteNonQuery()
        ClientScript.RegisterStartupScript(Page.GetType(), "validation", "<script language='javascript'>alert ('Your Rating Saved Successfully Thank you for Rating US!!!')</script>") 
       Response.Redirect("../FrontPage/Mainpage.aspx")
    cn.Close()
    Catch ex As Exception
    ClientScript.RegisterStartupScript(Page.GetType(), "validation", "<script language='javascript'>alert ('Unable to Save Data Please Contact ITS'</script>")
    cn.Close()
    Response.Redirect("../FrontPage/Mainpage.aspx")
    End Try
    End Sub

stored procedure 存储过程

    CREATE PROCEDURE RatingStorage1
            @DID int,
            @EMPID int,
            @SNL int,
            @SNB int,
            @A1 int,
     AS
     BEGIN
            insert into RatingStorage values (@DID,@EMPID,@SNL,@SNB,@A1)
      END

A1.Text has the string value but you have take @A1 parameter as Int in your stored procedure. A1.Text具有字符串值,但是您在存储过程中将@A1参数作为Int So you have to convert it into Integer like this: 因此,您必须像这样将其转换为Integer

 cmd.Parameters.AddWithValue("@A1",Convert.ToInt32(A1.Text))

我使用了隐藏字段而不是标签,我可以将其存储到数据库中

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM