Hej jag försöker jämföra om man skrivit in samma tecken i en textruta som ses i en label, men fungerar inte. Får man inget värde från en label? = är ett tilldelningstecken. Du ska använda == för jämförelse. Om du kodar i VB skall det vara ett = Hej för mig trots att jag skriver in ett lika värde i textbox som står i label, så får jag att värdena inte stämmer överens. Om jag använder jämförele mellan 2 textbox då fungerar det, jag förstår inte varför. Klistrade in coden nedan om det är någon som kan tipsa om någon annan lösning. //Bo Har du kollat vad din Label innehåller vid jämförelsen? Nu vet jag inte om det är dålig namngivning eller om det illustrerar problemet. Du anropar metoden och gör kontrollen i btnLagg_Click enl nedan. Hej ja jag håller med om att det är dålig namngivning. Hej Thommy de fungerade trots inte. Om jag tar bort random och ändrar label till fast värde så fungerar det, men så vill jag inte ha det. När jag tidigare körde sidan visades samma label-text så funktionen createRandom verkade inte att bli anropad. Din CreateRandom funktion slänger på ett skräptecken. Tack för all hjälp. Där satt den, problemet är löst!! //BoIf (lbl_1.text = txt_2.text) Then
If (lbl_1.text = txt_2.text) ThenSv: If (lbl_1.text = txt_2.text) Then
If (lbl_1.text == txt_2.text) Then
Kan även gå med (Även om jag är osäker på det när det gäller VB):
If (lbl_1.text.equals(txt_2.text)) ThenSv: If (lbl_1.text = txt_2.text) Then
Detta fungerar för mig
Jag gör dock om båda sidor till gemener innan jämförelsen
If TextBox1.Text.ToLower = Label1.Text.ToLower Then
TextBox2.Text = "Lika"
Else
TextBox2.Text = "Ej lika"
End IfSv:If (lbl_1.text = txt_2.text) Then
Imports System
Imports System.Data
Imports System.Configuration
Imports System.Web
Imports System.Web.Security
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Imports System.Web.UI.HtmlControls
Imports System.Drawing.Design
Imports System.Data.SqlClient
Partial Class LaggTillGastBok
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub
Protected Sub btnLagg2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnLagg2.Click
lbl_txt_1.Text = CreateRandom(4)
End Sub
Public Shared Function CreateRandom(ByVal NumberLength As Integer) As String
Dim _allowedChars As String = "ABCDEFGHJKLMNOPQRSTUVWXYZ"
Dim randNum As New Random()
Dim chars(NumberLength) As Char
Dim allowedCharCount As Integer = _allowedChars.Length
Dim i As Integer
For i = 0 To NumberLength - 1
chars(i) = _allowedChars(CInt(_allowedChars.Length * randNum.NextDouble()))
Next i
Return New String(chars)
End Function 'CreateRandom
Protected Sub btnLagg_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnLagg.Click
If (lbl_txt_1.Text.ToLower = txt_1.Text.ToLower) Then
Dim ConnString As String = ConfigurationManager.ConnectionStrings("Connection").ToString()
Dim sql As String = "INSERT INTO Tabelnamn (Namn, Description, Datum) VALUES (@Name, @Description, @Date)"
Using cn As New SqlConnection(ConnString), _
cmd As New SqlCommand(sql, cn)
cmd.Parameters.Add("@Name", Data.SqlDbType.VarChar, 50).Value = txtName.Text
cmd.Parameters.Add("@Description", Data.SqlDbType.VarChar, 500).Value = txtDescription.Text
cmd.Parameters.Add("@Date", Data.SqlDbType.SmallDateTime).Value = DateTime.Now.ToString()
cn.Open()
cmd.ExecuteNonQuery()
CurrentPanel.Visible = False
ThankYouPanel.Visible = True
SmileyPanel.Visible = False
cn.Close()
End Using
Else
' här visas en text om att värdena inte stämmer överens
lbl_txt_2_falsk.Visible = True
End If
End Sub
End Class
Sv: If (lbl_1.text = txt_2.text) Then
Kan din random funktion körts en gång till innan jämförelsen?Sv: If (lbl_1.text = txt_2.text) Then
<code>
Protected Sub btnLagg_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnLagg.Click
If (lbl_txt_1.Text.ToLower = txt_1.Text.ToLower) Then
</code>
Men du sätter ett värde i lbl_txt_1 i nästa anrop btnLagg2_Click
<code>
Protected Sub btnLagg2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnLagg2.Click
lbl_txt_1.Text = CreateRandom(4)
End Sub
</code>
Kan vara lite mindre lyckad namngivning bara iofs.Sv:If (lbl_1.text = txt_2.text) Then
Jag kör btnLagg2_Click före btnLagg_Click och jag la till btnLagg2_Click bara för att jag hade create random i Page load först. Tänkte kanske att den körde om och skapade ett nytt random.<asp:Label ID="lbl_txt_1" runat="server" Text='' />
<asp:TextBox id="txt_1" runat="server" Width="50"></asp:TextBox>
' steg1
<asp:Button id="btnlagg2" runat="server" text="Lägg till 2" validationgroup="Add" />
'steg2
<asp:Button id="btnLagg" runat="server" text="Lägg till" validationgroup="Add" />
//Bo
Sv: If (lbl_1.text = txt_2.text) Then
dim tmpLabel as string = lbl_txt_1.Text.ToLower
dim tmptextbox as string = txt_1.Text.ToLower
If (lbl_txt_1.Text.ToLower = txt_1.Text.ToLower) Then
Om tmpLabel och tmptextbox blir lika när du debuggar
så borde jämförelsen fungera
Om däremot tmpLabel avviker från vad som står i labeln
innan du kör btnLagg_Click då ändras din label innan jämförelsen görs
Antagligen av din random funktion
Sv:If (lbl_1.text = txt_2.text) Then
Finns det något bättre sätt att använda i sin gästbok då tidigare gästbok lades in hundratals spam. //Bo<asp:Label ID="lbl_txt_1" runat="server" Text='ZZZX' />
Sv: If (lbl_1.text = txt_2.text) Then
Använd denna:
Public Shared Function CreateRandom(ByVal NumberLength As Integer) As String
Dim _allowedChars As String = "ABCDEFGHJKLMNOPQRSTUVWXYZ"
Dim randNum As New Random()
Dim chars(NumberLength) As Char
Dim allowedCharCount As Integer = _allowedChars.Length
Dim i As Integer
For i = 0 To NumberLength - 1
chars(i) = _allowedChars(CInt(_allowedChars.Length * randNum.NextDouble()))
Next i
Dim TempString As String
TempString = New String(chars)
Return Left(TempString, NumberLength)
End Function 'CreateRandomSv:If (lbl_1.text = txt_2.text) Then