加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

Asp.Net MVC动态模型绑定前缀

发布时间:2020-12-16 06:26:57 所属栏目:asp.Net 来源:网络整理
导读:有没有办法用一个来自请求参数的值更改绑定前缀? 我有许多嵌套的搜索弹出窗口,并且它们都共享相同的ViewModel. 我可以在请求搜索过滤器时为所有字段添加绑定前缀,但我不知道如何使[Bind(Prefix =“”)]使用来自请求参数的值. // get the search filters wit
有没有办法用一个来自请求参数的值更改绑定前缀?

我有许多嵌套的搜索弹出窗口,并且它们都共享相同的ViewModel.

我可以在请求搜索过滤器时为所有字段添加绑定前缀,但我不知道如何使[Bind(Prefix =“”)]使用来自请求参数的值.

// get the search filters with the bindingPrefix we need
public ActionResult Search(string bindingPrefix)
{
    ViewData.TemplateInfo.HtmlFieldPrefix = bindingPrefix;
    SearchViewModel model = new SearchViewModel
    {
        BindingPrefix = bindingPrefix
    };

    return PartialView("_SearchFilters",model); 
}

// post the search filters values
[HttpPost]
public ActionResult Search([Bind(Prefix = model.BindingPrefix)]SearchViewModel model)
{

}

解决方法

我不知道你为什么要这样做,但这应该有效.

在视图的表单中,有一个隐藏的值

@Html.Hidden("BindingPrefix",Model.BindingPrefix)

将您的操作修改为以下内容

[HttpPost]
public ActionResult Search(SearchViewModel model)
{
    UpdateModel(model,model.BindingPrefix);
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读