Как сделать следующий фрагмент кода asp.net mvc c # как код vb.net - PullRequest
1 голос
/ 04 августа 2009

Работая с книгой Pro ASP.NET MVC, я получил следующий фрагмент кода, который появляется на странице aspx (просмотр) ...

<%= Html.DropDownList ("WillAttend",new[] 
{
new SelectListItem { Text = "Yes, I'll be there",Value=bool.TrueString},
new SelectListItem { Text = "No, I can't come",Value=bool.FalseString}
},"Choose an option"); %>

Может кто-нибудь помочь мне преобразовать это в эквивалент vb.net,

Любые идеи кто-нибудь?

РЕДАКТИРОВАТЬ
БОЛЬШЕ ДЕТАЛЕЙ
Вот весь фрагмент кода.Не уверен, что это поможет, но здесь это идет.

<body>
    <h1>RSVP</h1>

    <% using(Html.BeginForm()) { %>
        <p> Your name:  <%= Html.TextBox("Name") %></p>
        <p> Your email:  <%= Html.TextBox("Email") %></p>
        <p> Your phone:  <%= Html.TextBox("Phone") %></p>
        <p>
            Will you attend?
            <%= Html.DropDownList ("WillAttend",new[] 
                {
                new SelectListItem { Text = "Yes, I'll be there",Value=bool.TrueString},
                new SelectListItem { Text = "No, I can't come",Value=bool.FalseString}
                },"Choose an option") %>
        </p>
        <input type="submit" value="Submit RSVP" />
    <% } %>
</body>

Любая помощь приветствуется.Я ДЕЙСТВИТЕЛЬНО не могу понять это.

Сет

Ответы [ 5 ]

2 голосов
/ 05 августа 2009

вы можете сделать это с помощью довольно подробного VB.NET-кода:


     <%
        Dim lst As New List(Of SelectListItem)

        Dim item1 As New SelectListItem
        item1.Text = "Yes, I'll be there"
        item1.Value = Boolean.TrueString
        lst.Add(item1)

        Dim item2 As New SelectListItem
        item2.Text = "No, I can't come"
        item2.Value = Boolean.FalseString
        lst.Add(item2)
     %>
     <%=Html.DropDownList("WillAttend", lst, "Choose an option")%>

Хитрость заключается в том, чтобы прочитать аргументы функции и указать соответствующие параметры. Иногда мы привыкаем к более загадочным синтаксисам и забываем о простых объявлениях и присваиваниях переменных. DropDownList ожидает IEnumerable из SelectListItem в качестве второго аргумента, поэтому мы его и даем. Каждый SelectListItem, вероятно, должен иметь свое значение и текстовые поля. Я не понимаю, почему конструктор SelectListItem не предоставляет эти два элемента (плюс, возможно, «выбранный» логический тип).

1 голос
/ 18 января 2011

Вот то, что я думаю, вы действительно ищете. Это как можно ближе к точному переводу на мой взгляд ...

        <%: Html.DropDownListFor(Function(x) x.WillAttend, New List(Of SelectListItem) From _
        {
            New SelectListItem With {.Text = "Yes, I'll be there", .Value = Boolean.TrueString},
            New SelectListItem With {.Text = "No, I can't come", .Value = Boolean.FalseString}
        }, "Choose an option")%>
1 голос
/ 05 августа 2009

Не переусердствуйте:

<p>Will you attend?</p>
<select id="WillAttend">
    <option>Select an option</option>
    <option value="true">Yes, I'll be there</option>
    <option value="false">No, I can't come</option>
</select>
1 голос
/ 04 августа 2009

Попробуйте это:

<%  Dim listItems As SelectListItem() = { _
             New SelectListItem() With {.Text = "Yes, I'll be there", .Value = Boolean.TrueString}, _
             New SelectListItem() With {.Text = "No, I can't come", .Value = Boolean.FalseString} _
             }

           Response.Write(Html.DropDownList("WillAttend", listItems, "Choose an option"))
%>

Мой VB довольно слабый. Я уверен, что у кого-то есть лучший ответ.

0 голосов
/ 18 апреля 2013
@Using (Html.BeginForm()) _
        @<p>Your name: @Html.TextBoxFor(Function(x) x.Name)  </p> _
        @<p>Your email: @Html.TextBoxFor(Function(x) x.Email) </p> _
        @<p>Your phone: @Html.TextBoxFor(Function(x) x.Phone) </p> _
        @<p>
            Will you attend?
            @Html.DropDownListFor(Function(x) x.WillAttend, {New SelectListItem() With {.Text = "Yes, I'll be there", .Value = Boolean.TrueString}, _
                   New SelectListItem() With {.Text = "No, I can't come", .Value = Boolean.FalseString}}, _
               "Choose an option")       
        </p>
    End Using
        <input type="submit" value="Submit RSVP" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...