如何在asp.net mvc 3中使用动态添加的隐藏输入字段来形成控制器动作?

时间:2013-08-08 10:20:36

标签: jquery asp.net asp.net-mvc asp.net-mvc-3

我试过以下方式。这很好,可以动态地将隐藏的输入添加到表单。但是如何在控制器操作中使用该隐藏的输入字段,以便我将进行进一步的工作,即在浏览器中呈现动态添加的图像

JQuery Append方法:

<script type="text/javascript">
       var alts = "";
       var n = 65;

       $(document).ready(function () {
           $(function () {
               $("#selectable_images img").click(function () {
                   var $this = $(this);
                   //                      alts = $(this).attr("alt");
                   // alert(alts);
                   if ($this.hasClass('selected')) {
                       $("#" + this.rel).attr('checked', false);
                       $this.removeClass('selected');
                       // $("#postform").remove("");
                       //$("input[type='hidden']").remove();

                       //$('input[type="hidden"][value="' + alts + '"]').remove();
                       alts = $(this).attr("alt");

                       var ref = "#";
                       ref += alts.toString();
                       alert(ref);
                       $(ref).remove();

                   } else {
                       $("#" + this.rel).attr('checked', true);
                       $this.addClass('selected');
                       alts = $(this).attr("alt");
                       alert(alts);
                       charPos++;

                       $("#postform").append("<input type='hidden' id='" + alts.toString() + "' value='" + n.toString() + "'/>");
                       n++;
                   }
               })
           })
       });
</script>

图片代码:

<div class="selected" id="selectable_images">
    <table>
        <tr>
            <td>
                <img src="../../Images/wi0096-48.gif"  alt="Image1" class="conversation_img"/>
            </td>
            <td>
                <img src="../../Images/down.png"  alt ="image1"/>
            </td>
            <td>
                <img src="../../Images/wi0054-48.gif" alt="Image2" />
            </td>
            <td>
                <img src="../../Images/Photo-icon.png" alt="image3" />
            </td>

</div>

形式:

@using (Html.BeginForm("MapIcon","test", FormMethod.Post,new { id = "postform" }))
{   
    <input type="submit" value="Match"/>
}

1 个答案:

答案 0 :(得分:2)

您需要提供隐藏的input name属性值。由于name属性用于标识服务器端的表单发布值。

假设您给它一个值(当您使用javascript创建它时),例如:name="myHiddenInput"

然后,您可以使用以下命令从控制器操作中访问该操作:

string myHiddenInput = Request.Form["myHiddenInput"];