webForumDet fria alternativet

Datagrid funderingar...

.NETur .NET

2 svar · 323 visningar · startad av CatZ

Medlem sedan jan. 20022 440 inlägg
Frågan#1

Jag har en datagrid där användaren kan ange lite olika inställningar för att programmet ska fungera.

Hela datagriden har tre kolumner. ID, SetupID, Setting, Category. Under Smtp-kategorin finns följande SetupID.

MailServer
Port
Username
Password

Jag vill se till att den Setting som tillhör SetupID=Password aldrig visas i klartext, går det att ändra det på något smidigt sätt?

Medlem sedan jan. 20012 204 inlägg
#2

Då du lägger till dina kolumner så struntar du i att lägga till Password?, annars kan du ju bara köra en replace:

public string Replace(string tmp)
{
    return "*******";
}

kanske?

Medlem sedan jan. 20022 440 inlägg
#3

OnItemDataBound heter lösningen på mina problem.

Protected Sub dgItemDataBound(ByVal sender As Object, ByVal e As DataGridItemEventArgs)
'Display the correct items for the drop downboxes when the item is displayed
	If (e.Item.ItemType = ListItemType.AlternatingItem) Or (e.Item.ItemType = ListItemType.Item) Then
		Dim mySetting As Label = CType(e.Item.FindControl("lblInfo"), Label)
		Dim myddl As DropDownList = CType(e.Item.FindControl("ddlSetting"), DropDownList)
		Dim myValue As Label = CType(e.Item.FindControl("lblSetting"), Label)
	
		Select Case mySetting.Text
			Case "1"
				myddl.Visible = True
				myValue.Visible = False
				myddl.SelectedValue = myValue.Text
			Case "2"
				myValue.Text = myValue.Text
				myddl.Visible = False
				myValue.Visible = True
			Case Else
				myddl.Visible = False
				myValue.Visible = True
		End Select
	End If
	
	If e.Item.ItemType = ListItemType.EditItem Then
		Dim mySetting As Label = CType(e.Item.FindControl("lblInfo"), Label)
		Dim myddl As DropDownList = CType(e.Item.FindControl("ddlSetting"), DropDownList)
		Dim myValue As TextBox = CType(e.Item.FindControl("tbSetting"), TextBox)
	
		Select Case mySetting.Text
			Case "1"
				myddl.Visible = True
				myValue.Visible = False
				myddl.SelectedValue = myValue.Text
	
			Case "2"
				myValue.TextMode = TextBoxMode.Password
				myddl.Visible = False
				myValue.Visible = True
			Case Else
				myddl.Visible = False
				myValue.Visible = True
		End Select
	End If
End Sub
141 ms totalt · 3 externa anrop · v20260731065814-full.b746b907
138 ms — hämta forumlista (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)