将部分视图select2控件值传递给父视图控制器

问题描述

我有一个局部视图,该视图将被多个视图使用。我使用的是select 2控件来填充帐号,然后当用户单击“执行”按钮时,它将获得帐户信息。

当用户选择帐户并单击进入时,父级控制器中的值就会出现 为空

请参见以下代码。

如果您看到以下代码 // accountInfo.AccountSearch.AccountNumber,则此值为null

部分视图-视图模型

public class AccountSearchViewModel
{
    [Display(Name = "Account Number"),DataType(DataType.Text)]
        public string AccountNumber { get; set; }
}

父视图模型

 public class AccountInfoViewModel
    {
       public string AccountName { get; set; }
       public string Adddress { get; set;}
       public string City { get; set;}
       public string Zip { get; set; }
       public string PhoneNumber { get; set;}
      
       public AccountSearchViewModel AccountSearch
       {
          get 
          { 
              if(_accountSearch == null)
              {
                  _accountSearch = new AccountSearchViewModel();
              }
              return _accountSearch;
          }
          set { _accountSearch = value; }
       }
    
   private AccountSearchViewModel _accountSearch;   

 }

部分视图cshtml

@model Vfs.PsfProWeb.Models.Fleet.AccountSearchViewModel
<div class="col-md-10">
    <label> Account Number</label>
    <div class="input-group">
        <select id="mySelect2" class="form-control accountSelect" [email protected]></select>
    </div>
</div>

父视图-调用部分视图

 @model Vfs.PsfProWeb.Models.Fleet.AccountInfoViewModel
     <div class="card-body pt-2">
         <div class="form-row">
         <div class="col-11">
             @(await Html.PartialAsync("~/Views/Fleet/_AccountNumberSearch.cshtml",Model.AccountSearch))
             </div>
             <div class="col-md-1">
             <button  type="submit" class="btn btn-primary" asp-action="GetAccountInformation" asp-controller="AccountInfo">Go</button>
             </div>
             </div>
    </div>

父控制器

public IActionResult GetAccountInforAccountInfoViewModel accountInfo)
{
            try
            {
            
               //accountInfo.AccountSearch.AccountNumber -- this value comes in as null
               var acctInfo = _accountDomain.GetAcctInfoEntity(accountInfo.AccountSearch.AccountNumber));
                return View("~/Views/Fleet/AccountOtb.cshtml",acctInfo);
            }
            catch (Exception ex)
            {

                throw;
            }
 }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)