Я исследовал Google и этот сайт широко и не могу найти ответ. Я пытаюсь добавить ASP.NET Identity в Visual Studio, и я работал от this page.Использование идентификатора ASP.NET с VB
Проблема в том, что все из этой статьи находится на C#, а мой проект специально написан на Visual Basic (ASP.NET Framework 4.5.1, не MVC). Кроме того, я слишком новичок в веб-разработчике, чтобы точно знать, что менять. Я нашел конвертер C# в VB, и он работал по большей части, но я все еще не вижу чего-то, так как получаю ошибки в VS. Я даже не уверен на 100%, что могу заставить Identity работать в VB вместо C#, хотя я не понимаю, почему нет.
Я стараюсь держать это как можно более кратким, поэтому я буду обозначать вопросы в жирным шрифтом.
Это страница register.aspx:
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Register.aspx.vb" Inherits="WebFormsIdentity.Register" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body style="font-family: Arial, Helvetica, sans-serif; font-size: small">
<form id="form1" runat="server">
<div>
<h4 style="font-size: medium">Register a new user</h4>
<hr />
<p>
<asp:Literal runat="server" ID="StatusMessage" />
</p>
<div style="margin-bottom:10px">
<asp:Label runat="server" AssociatedControlID="UserName">User name</asp:Label>
<div>
<asp:TextBox runat="server" ID="UserName" />
</div>
</div>
<div style="margin-bottom:10px">
<asp:Label runat="server" AssociatedControlID="Password">Password</asp:Label>
<div>
<asp:TextBox runat="server" ID="Password" TextMode="Password" />
</div>
</div>
<div style="margin-bottom:10px">
<asp:Label runat="server" AssociatedControlID="ConfirmPassword">Confirm password</asp:Label>
<div>
<asp:TextBox runat="server" ID="ConfirmPassword" TextMode="Password" />
</div>
</div>
<div>
<div>
<asp:Button runat="server" OnClick="CreateUser_Click" Text="Register" />
</div>
</div>
</div>
</form>
</body>
</html>
Нет ошибок в VB, но после после запуска страницы я получаю «Ошибка синтаксического анализа» в браузере: "Parser Сообщение об ошибке: Не удалось загрузить type 'WebFormsIdentity.Register'. "
Это код; большинство из этих вопросов с этой страницы:
Imports Microsoft.AspNet.Identity
Imports Microsoft.AspNet.Identity.EntityFramework
Imports System.Linq
Namespace WebFormsIdentity
Partial Public Class Register
Inherits System.Web.UI.Page
Protected Sub CreateUser_Click(sender As Object, e As EventArgs)
' Default UserStore constructor uses the default connection string named: DefaultConnection
Dim userStore = New UserStore(Of IdentityUser)()
Dim manager = New UserManager(Of IdentityUser)(userStore)
Dim user = New IdentityUser() With { _
Key .UserName = UserName.Text _
}
Dim result As IdentityResult = manager.Create(user, Password.Text)
If result.Succeeded Then
StatusMessage.Text = String.Format("User {0} was created successfully!", user.UserName)
Else
StatusMessage.Text = result.Errors.FirstOrDefault()
End If
End Sub
End Class
End Namespace
На линии под «пользователя Dim», слово «Key» имеет эту ошибку:
Name of field or property being initialized in an object initializer must start with '.'.
На линии с ' Тусклый результат 'слово 'Пароль' имеет следующее:
'Password' is not declared. It may be inaccessible due to its protection level
на линии под' result.S ucceeded», слово 'StatusMessage' имеет следующее:
'StatusMessage' is not declared. It may be inaccessible due to its protection level.
И, наконец, та же линия, 'user.username' имеет следующее:
'UserName' is not a member of 'System.Security.Principal.IPrincipal'.
Я только с помощью VB для около шести недель, так что я ребенок. Я знаю, как объявлять вещи, но я не понимаю, почему автору вышеупомянутой ссылки не нужно было ничего делать в своем коде, за исключением того, что это C#.
В любом случае, спасибо за чтение и за помощь заранее.
Спасибо! Я дам вам шанс и дам вам знать. – Wullaj
Если бы я мог «поддержать» ваш ответ, я бы это сделал. Ссылка на «ключ» была определенно проблемой. Спасибо за помощь! – Wullaj