C# 如何将从MVC视图中选择的下拉列表值发送到控制器';s变量视图数据?

C# 如何将从MVC视图中选择的下拉列表值发送到控制器';s变量视图数据?,c#,javascript,asp.net-mvc,C#,Javascript,Asp.net Mvc,我在应用程序中使用MVC4和Razor。我的控制器包含C#编码,视图包含cshtml代码。我的下拉列表如下所示 @Html.DropDownListFor(x => x.StateName, Model.StateList, "--Please Select--") 我想将列表的选定值设置为控制器中的ViewData组件。让我知道有哪些可能做到这一点。您可以将所选值存储在隐藏字段中,并在控制器上获取隐藏字段值,如 .cshtm文件 <script language="javascr

我在应用程序中使用MVC4和Razor。我的控制器包含C#编码,视图包含cshtml代码。我的下拉列表如下所示

@Html.DropDownListFor(x => x.StateName, Model.StateList, "--Please Select--")

我想将列表的选定值设置为控制器中的ViewData组件。让我知道有哪些可能做到这一点。

您可以将所选值存储在隐藏字段中,并在控制器上获取隐藏字段值,如

.cshtm文件

<script language="javascript" type="text/javascript">
 $(document).ready(function () {
    // storing selected value to hidden field
    $("#Selected").val($("#id").val());

    $("#id").change(function () {
        // every time dropdown changes the value will be storing in hidden field
        $("#Selected").val($("#id").val());
    });
)};
</script>

@Html.HiddenFor("Selected")
@Html.DropDownList("id", new SelectList(Model.StateList, "--Please Select--"))

您可以将所选值存储在隐藏字段中,并在控制器上获取隐藏字段值,如

.cshtm文件

<script language="javascript" type="text/javascript">
 $(document).ready(function () {
    // storing selected value to hidden field
    $("#Selected").val($("#id").val());

    $("#id").change(function () {
        // every time dropdown changes the value will be storing in hidden field
        $("#Selected").val($("#id").val());
    });
)};
</script>

@Html.HiddenFor("Selected")
@Html.DropDownList("id", new SelectList(Model.StateList, "--Please Select--"))

第二种方法是ajax调用

<script language="javascript" type="text/javascript">
  $(document).ready(function () {
      // storing selected value to hidden field
      $("#Selected").val($("#id").val()); 

      $("#id").change(function () { 
        $.ajax({
           url: "~/ ControllerName/ActionMethodName",
           type: 'POST',
           cache: false,
           data: { Selected: $("# Selected").val() },
           success: function (data) {
             //
           }
         });
  });
  )};
</script>

第二种方法是ajax调用

<script language="javascript" type="text/javascript">
  $(document).ready(function () {
      // storing selected value to hidden field
      $("#Selected").val($("#id").val()); 

      $("#id").change(function () { 
        $.ajax({
           url: "~/ ControllerName/ActionMethodName",
           type: 'POST',
           cache: false,
           data: { Selected: $("# Selected").val() },
           success: function (data) {
             //
           }
         });
  });
  )};
</script>

嗨,苏达尔山。没有使用jQuery.hi sudharshan,还有其他方法可以做到这一点吗。有没有其他方法不使用jQuery就可以做到这一点。没关系!请告诉我如何仅使用javascript将选定值设置为ViewData。期待一个很好的答案,很好!请告诉我如何仅使用javascript将选定值设置为ViewData。期待一个非常好的答案。