Behöver lite hjälp med asp.net mvc 5 sida

Permalänk
Medlem

Behöver lite hjälp med asp.net mvc 5 sida

Har gjort som i denna guiden http://www.codeproject.com/Tips/991663/Displaying-User-Full-N... för att lägga till för och efternamn men det finns redan registrerade användare på sidan som ej får valet att lägga till sitt namn...

då har jag försökt med följande kod i index viewen i manage foldern:

<dt>Name:</dt> <dd> @if (ViewData.ContainsKey("FullName")) { @ViewData["FullName"] } else { @Html.ActionLink("Set Name", "SetName") }

På ett konto där jag angav namn när jag registrerade mig så visas namnet men på ett annat konto där det inte är angivet något namn får jag inte länken till SetName sidan..

Hur bör jag gå tillväga?

Visa signatur

Citera om du vill ha svar :)

Permalänk
Medlem

Utan att kolla på länken men utifrån det du säger så gissar jag på att ViewData["FullName"] är null eller tom sträng.

Testa att ändra:

@if (ViewData.ContainsKey("FullName"))

till

@if (ViewData.ContainsKey("FullName") && ViewData["FullName"] != null)

Permalänk
Medlem
Skrivet av Wickit:

Utan att kolla på länken men utifrån det du säger så gissar jag på att ViewData["FullName"] är null eller tom sträng.

Testa att ändra:

@if (ViewData.ContainsKey("FullName"))

till

@if (ViewData.ContainsKey("FullName") && ViewData["FullName"] != null)

Tack, men är precis samma med den koden :/

Visa signatur

Citera om du vill ha svar :)

Permalänk
Medlem

Pröva detta:

@if (ViewData.ContainsKey("FullName") && ViewData["FullName"] != null && ViewData["FullName"] != "")

Permalänk
Medlem

om jag tolkar koden i artikeln rätt, så borde FullName innehålla ett mellanslag om man inte angett namnen.
testa att använda String.IsNullOrWhiteSpace för att kontrollera detta.

Visa signatur

as far as we can tell, the massacre went well...

Permalänk
Medlem
Skrivet av xilli:

Pröva detta:

@if (ViewData.ContainsKey("FullName") && ViewData["FullName"] != null && ViewData["FullName"] != "")

tack men kan inte göra en build med den koden

Warning CS0252 Possible unintended reference comparison; to get a value comparison, cast the left hand side to type 'string'

Skrivet av jovnas:

om jag tolkar koden i artikeln rätt, så borde FullName innehålla ett mellanslag om man inte angett namnen.
testa att använda String.IsNullOrWhiteSpace för att kontrollera detta.

ska prova det tack

Visa signatur

Citera om du vill ha svar :)

Permalänk
Medlem

kanske inte går att använda ViewData för att kolla om det finns ett namn? hur går jag tillväga om jag vill kolla i databasen om FirstName och LastName har några värden? det lät överkurs för min förmåga haha

Visa signatur

Citera om du vill ha svar :)