2014-02-03 3 views
0

Я новичок в ASP.net с VB. Поскольку я пытаюсь вставить мою рейтинговую форму в БД, основанный на щелчке. Но я преуспеваю, я получаю следующую ошибку.Вставьте оценку после нажатия кнопки отправки

Error 1 'SubmitForm_Click' is not a member of 'ASP.default_aspx'. C:\Users\raj\Documents\Visual Studio 2013\WebSites\WebSite13\Default.aspx 143 

То, что я пытался сделать, когда я нажимаю на кнопку отправки, то значения моего рейтинга звезда и текстовое поле следует хранить значения в децибелах.

Но именно он работал с вне кнопки, но я хранил значения дважды в

 Rate text 
     4  
     3  hi 

который я хотел сохранить только один раз.

Это default.aspx

<%@ Page Title="Home Page" Language="VB" CodeFile="~/Default.aspx.vb" AutoEventWireup="true" Inherits="_Default"%> 
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajax" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 


<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
<title>Ajax Rating Sample</title> 
<style type="text/css"> 
.ratingEmpty 
{ 
background-image: url(ratingStarEmpty.gif); 
width:18px; 
height:18px; 
} 
.ratingFilled 
{ 
background-image: url(ratingStarFilled.gif); 
width:18px; 
height:18px; 
} 
.ratingSaved 
{ 
background-image: url(ratingStarSaved.gif); 
width:18px; 
height:18px; 
} 
.left-column, .right-column{ 
    float:left; 
    padding:10px; 
    border:solid 1px black; 

} 
.left-column{ 
    width:30%; 

    border:solid 1px black; 
} 
.right-column{ 
    width:60%; 

    border:solid 1px black; 
} 

</style> 
</head> 
<body> 
<form id="form1" runat="server"> 
<ajax:ToolkitScriptManager ID="ScripManager1" runat="server"/> 

<asp:UpdatePanel ID="pnlRating" runat="server"> 
<ContentTemplate> 

     <div class="left-column"> 
    <div> 
    <b>test1</b><br /> 
    <div style="padding-left:5em"> 
<ajax:Rating ID="ratingControl" AutoPostBack="true" OnChanged="RatingControlChanged" runat="server" StarCssClass="ratingEmpty" WaitingStarCssClass="ratingSaved" EmptyStarCssClass="ratingEmpty" FilledStarCssClass="ratingFilled" MaxRating="10"> 
</ajax:Rating> 
<b> <asp:label ID="lbltxt" runat="server"/> </b><br /> 
     </div> 

    </div> 



</div> 
<div class="right-column"> 

    <div><b>test 2</b><br /> 
    <div style="padding-left:5em"> 

<b> <asp:TextBox id="tb1" autopostback="true" runat="server" /> </b><br /> 
     </div></div> 

    <p> 
     &nbsp;</p> 
    <p> 



    <asp:Button id="SubmitForm" onclick="SubmitForm_Click" text="Submit & logout" runat="server" /> 

    </p> 

</div> 



</ContentTemplate> 
</asp:UpdatePanel> 



</form> 
</body> 
</html> 

Default.aspx.vb

Imports System.Configuration 
Imports System.Data 
Imports System.Data.SqlClient 

Partial Class _Default 
    Inherits System.Web.UI.Page 
    Private con As New SqlConnection(ConfigurationManager.ConnectionStrings("Test").ConnectionString) 
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load 
     If Not IsPostBack Then 
      BindRatingControl() 
     End If 
    End Sub 


    Protected Sub RatingControlChanged(ByVal sender As Object, ByVal e As AjaxControlToolkit.RatingEventArgs) Handles SubmitForm.Click 
     con.Open() 

     Dim cmd As New SqlCommand("insert into rating(Rate,course)values(@Rate,@course)", con) 
     cmd.Parameters.AddWithValue("@Rate", ratingControl.CurrentRating) 

     cmd.Parameters.AddWithValue("@course", tb1.Text) 
     cmd.ExecuteNonQuery() 
     con.Close() 
     BindRatingControl() 
    End Sub 

    Protected Sub BindRatingControl() 
     Dim total As Integer = 0 
     Dim dt As New DataTable() 
     con.Open() 
     Dim cmd As New SqlCommand("Select Rate from rating", con) 
     Dim da As New SqlDataAdapter(cmd) 
     da.Fill(dt) 
     If dt.Rows.Count > 0 Then 
      For i As Integer = 0 To dt.Rows.Count - 1 
       total += Convert.ToInt32(dt.Rows(i)(0).ToString()) 
      Next 
      Dim average As Integer = total \ (dt.Rows.Count) 
      'ratingControl.CurrentRating = average 
      'lbltxt.Text = dt.Rows.Count & "user(s) have rated this article" 
     End If 
    End Sub 
End Class 

Таким образом, любой один помочь мне, как решить эту проблему.

ответ

1

У вас нет обработчика событий для SubmitForm_Click. Вы можете изменить его так, что вы не пытаетесь вызвать обработчик ...

<asp:Button id="SubmitForm" text="Submit & logout" runat="server" /> 

Или создать обработчик события ... но я не достаточно знакомы с VB, чтобы дать вам правильный синтаксис.

Смежные вопросы