как передать значение контроллеру

2

У меня есть drop down, где я хочу передать выбранное значение, которое я выбрал для контроллера. Как это сделать?

Теги:
asp.net-mvc
asp.net-mvc-2

2 ответа

2
Лучший ответ

Контроллер:

public class TestController : Controller
{
    public ActionResult Test(Test input)
    {
        string selected = input.YourDropDown; //Here is your value

        return View();
    }

}

Модель:

public class Test
{
    public string YourDropDown { get; set; }
}

Вид:

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<###NAMESPACE###.Models.Test>" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Test</title>
</head>
<body>
    <div>
        <% using (Html.BeginForm()) { %>
            <%= Html.DropDownListFor(model => model.YourDropDown, new[] { new SelectListItem { Text = "Test", Value = "Value" }}) %>
            <input type="submit" />
        <% } %>
    </div>
</body>
</html>

Поместите представление в папку, например: /Views/Test/Test.aspx

и ваш URL будет:

url/Test/Test

Это было бы правильно одним из лучших и самых расширяемых способов сделать то, что вам нужно. Вы могли бы избежать создания класса модели и использовать Html.DropDownList вместо Html.DropDownListFor.

1

Вы можете пройти через запрос:

http://YourMvcApp/YourController/YourAction/?yourvariable=yourvalue

Затем внутри вашего действия вы можете перейти к значению, выполнив

Dim myValue As Object = Request("yourvariable")

Или в С#

Object myValue = Request["yourvariable"];

НТН,

Mike

Ещё вопросы

Сообщество Overcoder
Наверх
Меню