【问题标题】:How to send a dropdown list selected value from MVC view to controller's variable ViewData?如何将 MVC 视图中的下拉列表选定值发送到控制器的变量 ViewData?
【发布时间】:2013-03-10 17:30:31
【问题描述】:

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

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

我想将列表的选定值设置为控制器中的 ViewData 组件。让我知道这样做的所有可能性。

【问题讨论】:

    标签: c# javascript asp.net-mvc


    【解决方案1】:

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

    .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--"))
    

    控制器...

    您可以读取隐藏字段值,例如..

    string str = base.Request["Selected"].ToString()
    

    【讨论】:

    • 嗨 sudharshan。有没有其他方法可以在不使用 jQuery 的情况下做到这一点。
    【解决方案2】:

    第二种方式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>
    

    控制器:

    private string ActionMethodName (string Selected)
    {
      String value = Selected; 
    }
    

    【讨论】:

    • 没关系!请让我知道如何仅使用 javascript 将所选值设置为 ViewData。期待一个很好的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多