簡體   English   中英

如何使用清單 <Tuple<> &gt;作為操作方法參數?

[英]How to use a List<Tuple<>> as an action method parameter?

我想將List<Tupple<>>發送到控制器,但效果不佳,因為我總是收到以下消息No parameterless constructor defined for this object並且該方法的代碼未執行。

我正在使用一個類作為控制器參數的視圖模型:

public class InsurancesHospitals
{
    public int hospital { get; set; }
    public List<Tuple<int, string, bool>> insurances { get; set; }
}

這是控制器:

[Authorize]
public ActionResult AssociateInsurances(InsurancesHospitals viewModel)
{
    foreach (var insurance in viewModel.insurances)
    {
        /*
            Here I do some things...
        */
    }

    return Redirect("/Hospitals/Index");
}

這是我稱之為控制器的視圖:

<form id="formulario" role="form" method="post" action="~/Hospitals/AssociateInsurances">

    <label class="control-label" for="hospital">Hospital</label>
    <select class="form-control" id="hospital" name="hospital">
        @foreach (var hospital in (IQueryable<HOSPITALS>)ViewData["hospitals"])
        {
            <option value="@hospital.ID" >@hospital.NAME</option>
        }
    </select>

    <div class="col-xs-12">
        <div class="row">
            @{
                var insurances = ((IQueryable<INSURANCES>)ViewData["insurances"]).ToList();

                for (var index=0; index < insurances.Count(); index++) 
                {
                    <input type="hidden" value="@insurances[index].ID" class="insurances" name="insurances[@index].Item1" />

                    <div class="col-xs-3">
                        <input type="checkbox" data-id="@insurances[index].ID" class="association" name="insurances[@index].Item3" />
                        @insurances[index].NAME
                    </div>

                    <div class="col-xs-3">
                        <input type="text"  data-id="@insurances[index].ID" class="form-control codes" name="insurances[@index].Item2" />
                    </div>
                }
            }
        </div>
    </div>

    <button class="btn btn-success" type="submit">
        <span>Associate</span>
    </button>
</form>

就像錯誤說的那樣:元組沒有無參數構造函數 ,因此模型綁定程序無法實例化它。

您可以采用艱難的方式:創建自己的模型綁定程序,或者采用簡單的方式:只需引入一個包含適當屬性的新類。 這有一個額外的好處:實際上有用的屬性名稱,而不是ItemN

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM