У меня есть drop down, где я хочу передать выбранное значение, которое я выбрал для контроллера. Как это сделать?
Контроллер:
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
.
Вы можете пройти через запрос:
http://YourMvcApp/YourController/YourAction/?yourvariable=yourvalue
Затем внутри вашего действия вы можете перейти к значению, выполнив
Dim myValue As Object = Request("yourvariable")
Или в С#
Object myValue = Request["yourvariable"];
НТН,
Mike