Asp.net mvc 4 绑定前缀MVC

Asp.net mvc 4 绑定前缀MVC,asp.net-mvc-4,Asp.net Mvc 4,我读过 但是,这是我的代码,它不起作用。 控制器名称为:“UserInfo.user\u name” 谢谢 更新 添加我的视图: @Html.EditorFor(x => x.UserInfo) 这是EditorTemplate: <div> @Html.LabelFor(m => m.user_name) @Html.TextBoxFor(m => m.user_name, new { required = tr

我读过

但是,这是我的代码,它不起作用。 控制器名称为:“UserInfo.user\u name”

谢谢

更新

添加我的视图:

 @Html.EditorFor(x => x.UserInfo)
这是EditorTemplate:

<div>
            @Html.LabelFor(m => m.user_name)
            @Html.TextBoxFor(m => m.user_name, new { required = true})
            @Html.ValidationMessage("user_name", new { @class = "error"})
        </div>

只有在视图中,如果使用
UserInfo\u user\u name
呈现模型,则可以使用
Bind
。我建议你读书。假设在你看来,有两个属性是不明确的。然后你可以使用你的绑定。我想你可以把它和模型一起使用。如果您的控制器名称为
UserInfo.user\u name
,则无所谓。重要的是模型。我想如果我们看到你的观点,我们可以得到一些重要的信息。希望看完链接后能对你有所帮助

试试这个:

    `
 public JsonResult UniqueUserName([Bind(Prefix="UserInfo")] Info info)
     {
        //and retreive your user_name via the model info 
    }
`
我希望它能帮助你

没有。没有成功:(我把它放在GET操作中,经过调试,HtmlFieldPrefix中填充了“UserInfo”。JsonResult由远程DataAnnotation属性调用(不是POST)并且用户名属性为null…您能看看远程调用完成时调用的对象是什么吗?只需在导航器上按F12,然后按“网络选项卡”。或者您可以检查页面源的id名称并将其与远程操作中的参数匹配这是我的requestURL:。这正是我在m上写的第一个问题。
public class Info
{       
    [DisplayName("User Name")]
    [Required]
    [Remote("UniqueUserName", "Create")]
    public string user_name { set; get; }

}

public class EvalInfo
{        
    public Info UserInfo { set; get; }
    public EvalInfo()
    {
        UserInfo = new Info();
    }
}
    `
 public JsonResult UniqueUserName([Bind(Prefix="UserInfo")] Info info)
     {
        //and retreive your user_name via the model info 
    }