繁体   English   中英

在MVC4剃须刀中回发选定的动态单选按钮值

[英]Posting back selected dynamic radio button value in MVC4 razor

我试图在MVC4 RAZOR应用程序中单击按钮后将所选单选按钮的值发回给控制器。 但是,我没有取回控制器中的实际期望值,只有0。

部分查看代码:

@model Blah.FeatureViewModel
<script type="text/javascript">
    function OnContinueClick() {
        $('#tabs').load('@Url.Action("Continue", "Home")', { SelectedFeature : Model.SelectedFeature });
    }
</script> 

@using (Html.BeginForm())
{
    <div>
        @foreach (var feature in Model.FeatureDictionary)
        {
            <p>
                @Html.RadioButtonFor(x => x.SelectedFeature, feature) @feature.Value
            </p>       
        }

        <input type="button" name="continueButton" id="continueButton" value="Continue" onclick="OnContinueClick()" />
    </div>
}

查看型号代码:

using System.Collections.Generic;

namespace Blah.Models
{
    public class FeatureViewModel
    {
        public Dictionary<int, string> FeatureDictionary { get; set; }
        public KeyValuePair<int, string> SelectedFeature { get; set; }
    }
}

控制器代码:

[HttpPost]
public ActionResult Continue(FeatureViewModel featureViewModel)
{
    //pass data to another controller
}

我想我可能需要Jquery回传值?

您传递给jQuery load函数的值是呈现视图时Model的值。 要传递当前选择的值,您需要执行以下操作:

$('#tabs').load('@Url.Action("Continue", "Home")',
                { SelectedFeature : $('[name="SelectedFeature"]').val() });

同样如Joel Etherton所说,您需要将操作类型从FeatureViewModelKeyValuePair<int, string>

我不确定

@Html.RadioButtonFor(x => x.SelectedFeature, feature)

给您想要的任何一个,因为feature是KeyValuePair<int, string> 您正试图创建什么单选按钮?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM