2015-02-05 78 views
0

我有下面的下拉列表,如何在点击提交按钮(httppost)时在MVC控制器上检索下拉选择的下拉文本(不是值)?传递下拉文本到控制器

<select id="detailThing" name="MyList"> 
<option value="BMI">ListDetail1</option> 
<option value="BMI">ListDetail2</option> 
<option value="BMI">ListDetail3</option> 
</select> 
+0

是有办法做到这一点不改变的价值呢?我需要按照原始问题保留价值... – user3663854 2015-02-05 15:24:38

回答

0

<select>放在表单中并提交给控制器。你将需要一个带有字符串变量的模型来将值传递给/ through。

public class MyModel 
{ 
    public String myValue { get; set; } 
} 

在视图中将此行放在顶部;

@model MyProject.Models.MyModel 

然后创建一个html表单,并将您的选择内置并创建一个提交按钮;

@using (Html.BeginForm("MyControllerMethod", "MyController", FormMethod.Post, new { id = "myform" })) 
{ 
    <select id="detailThing" name="myValue"> 
     <option value="BMI">Putrajaya</option> 
     <option value="BMI">Sepang</option> 
     <option value="BMI">Hulu Langat</option> 
    </select> 
    <button type="submit">Submit</button> 
} 

的选择的“姓名”设定为'myValue'将其“选中的”值链接到所述可变的模型和提交表单时将它传递给控制器​​。希望这可以帮助!

更新:

变化的值是一样的显示文字,

<select id="detailThing" name="myValue"> 
    <option value="Putrajaya">Putrajaya</option> 
    <option value="Sepang">Sepang</option> 
    <option value="Hulu Langat">Hulu Langat</option> 
</select> 
+0

它会返回下拉值还是下拉文本?因为我需要下拉文本... – user3663854 2015-02-05 14:05:29

+0

它会返回值不是可见文本。只需将选项值更改为与显示文本相同即可。 – Whiplash450 2015-02-05 14:08:01

+0

我遵循以下代码http://forums.asp.net/t/1989680.aspx?dropdown+items+filter+based+on+selection+of+another+dropdown+seleted+value+using+jquery,以及现在我有一个具有相同值但文字独特的下拉菜单。所以,我需要帮助,如何将下拉文本传回控制器... – user3663854 2015-02-05 14:17:38