OK Je suis nouveau à .net, je suis juste prendre une photo dans le noir à travers tout cela. J'ai une table Addresses avec un champ StateID et CountryID. Ils se réfèrent à la table des États et des pays. J'utilise LINQ to SQL et Visual Studio 2010.Problèmes de baisse dans .net en utilisant VB et voir le modèle
Dans mon AddressesController je:
Function Create() As ActionResult
Dim these_states = GetStates()
Dim these_countries = GetCountries()
Dim viewModel = New AddressViewModel(these_states, these_countries)
Return View(viewModel)
End Function
'
' POST: /Addresses/Create
<HttpPost()> _
Function Create(ByVal this_address As Address) As ActionResult
dataContext.Addresses.InsertOnSubmit(this_address)
dataContext.SubmitChanges()
Return RedirectToAction("Index")
End Function
J'ai créé un AddressViewModel et il ressemble à ceci:
Public Class AddressViewModel
Public Address As Address
Private _these_states As System.Linq.IQueryable(Of State)
Private _these_countries As System.Linq.IQueryable(Of Country)
Sub New(ByVal these_states As System.Linq.IQueryable(Of State), ByVal these_countries As System.Linq.IQueryable(Of Country))
_these_states = these_states
_these_countries = these_countries
End Sub
Dim StateList As New SelectList(_these_states, "StateID", "Label", 1)
Public Property States As SelectList
Get
Return StateList
End Get
Set(ByVal value As SelectList)
End Set
End Property
Dim CountryList As New SelectList(_these_countries, "CountryID", "Label", 1)
Public Property Countries As SelectList
Get
Return CountryList
End Get
Set(ByVal value As SelectList)
enter code here
Puis dans mon code de vue J'ai:
<%@ Page Title="" Language="VB" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage(Of TotallyAwesomeCRM.AddressViewModel)" %>
un code supprimé comme inutile
<div class="editor-label">
State
</div>
<div class="editor-field">
<%: Html.DropDownList("StateID", Model.States, "1")%>
<%: Html.ValidationMessageFor(Function(model) model.StateID) %>
</div>
<div class="editor-label">
Country
</div>
<div class="editor-field">
<%: Html.DropDownList("CountryID", Model.Countries, "1")%>
<%: Html.ValidationMessageFor(Function(model) model.CountryID) %>
</div>
Alors, quand je tente d'aller aux adresses/Créer je reçois cette erreur:
ArgumentNullException was not handled by user code:Value cannot be null.
Nom du paramètre: articles
Et il pointe cette ligne dans le AddressViewModel:
Dim StateList As New SelectList(_these_states, "StateID", "Label", 1)
Je sais qu'il tire des résultats, donc j'ai recherché l'élément Parameter et msdn dit que c'est System.Collections.IEnumerable
Alors j'ai changé le AddessViewModel à:
Public Address As Address
Private _these_states As System.Collections.IEnumerable
Private _these_countries As System.Collections.IEnumerable
Sub New(ByVal these_states As System.Collections.IEnumerable, ByVal these_countries As System.Collections.IEnumerable)
_these_states = these_states
_these_countries = these_countries
End Sub
obtenu la même erreur, s'il vous plaît aider
Je ne peux pas vous dire combien je vous remercie de votre réponse, je suis jacking w/ce CRM sur et en dehors pendant deux ou trois semaines, il était de prouver à ce propriétaire d'entreprise Web que je pouvais faire. NET depuis que je ne l'ai jamais touché. Personne ne semble jamais répondre à mes messages et je passe des heures à googler et essayer de convertir des exemples #C en VB. En attendant, j'ai été licencié, alors je suis en train de suivre un cours intensif sur .NET pour que je puisse le faire le plus rapidement possible et j'espère obtenir le job! Cela a fonctionné! BTW Je peux avoir beaucoup plus de messages à venir lol, je dois les sauver maintenant ... Souhaitez-moi bonne chance! – KacieHouser
Mise en garde retirée, PylonsN00b confirmée correcte. @ PylonsN00b Je vais vous ajouter à mes favoris et voir comment je peux vous aider. Des questions claires et détaillées que vous avez ici, il est facile et agréable de répondre. Vous pouvez éditer votre question pour obtenir le formatage du deuxième exemple de code correct. –