我有一个下拉列表,我想将我选择的值传递给控制器。我该如何做到这一点?
答案 0 :(得分: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/Test/Test
这将是一种更好,最可扩展的方式来做你所做的事情。您可以避免创建模型类并使用Html.DropDownList
而不是Html.DropDownListFor
。
答案 1 :(得分:1)
您可以像这样通过查询字符串传递:
http://YourMvcApp/YourController/YourAction/?yourvariable=yourvalue
然后在你的Action中你可以通过
获得值Dim myValue As Object = Request("yourvariable")
或者在C#中
Object myValue = Request["yourvariable"];
HTH,
麦克