我如何将值传递给控制器

时间:2010-08-25 20:29:04

标签: c# asp.net asp.net-mvc asp.net-mvc-2

我有一个下拉列表,我想将我选择的值传递给控制器​​。我该如何做到这一点?

2 个答案:

答案 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,

麦克