我有以下類,並希望根據特定條件篩選下拉列表。應用過濾生成下拉列表
模型類
public class Option
{
public int OptionID { get; set;}
public string OptionName { get; set; }
public int TechnicalCharacteristicID { get; set; }
public int LsystemID { get; set; }
public virtual ICollection<OptionValue> OptionValues { get; set; }
public virtual TechnicalCharacteristic TechnicalCharacteristic { get; set; }
public virtual Lsystem Lsystem { get; set; }
}
public class OptionValue
{
public int OptionValueID { get; set; }
public string OptionVal { get; set; }
public int OptionID { get; set; }
public virtual Option Option { get; set; }
public virtual ICollection< SetValue> SetValue { get; set; }
}
public class SetValue
{
public int SetValueID { get; set; }
public string Value { get; set; }
public bool Status { get; set; }
public int TcSetID { get; set; }
public int OptionValueID { get; set; }
public virtual OptionValue OptionValue { get; set; }
public virtual TcSet TcSet { get; set; }
}
public class TcSet
{
public int TcSetID { get; set; }
public string SetName { get; set; }
[Display(Name = "PhysicalUnit")]
public string PhysicalUnit { get; set; }
public int TechnicalCharacteristicID { get; set; }
public int DataFormatID { get; set; }
public virtual ICollection<SetValue> SetValues { get; set; }
public virtual DataFormat DataFormat { get; set; }
public virtual TechnicalCharacteristic TechnicalCharacteristic { get; set; }
}
public class TechnicalCharacteristic
{
public int TechnicalCharacteristicID { get; set; }
public string TCName { get; set; }
public virtual ICollection<TcSet> TcSets { get; set; }
//public virtual ICollection<Option> Options { get; set; }
}
我想實現
我要救值在SetVal
每個選項。將DropDownList在SetVal
需要過濾基於下面的條件下產生(因爲它使用參數從其他類我不能執行的條件本身)
OptionValue.Option.TechnicalCharacteristicID == TcSet.TCID
我有以下的控制器類。我已將選擇條件等同於預設值,因爲我無法匹配選擇條件的右側。
我需要在表中顯示select的結果。當我嘗試將現有的解決結果表它顯示的類型不是IEnumerable的,即使它被宣佈在模型類的IEnumerable ..
控制器
public ActionResult Create(int OptionValID, int OptionID)
{
var model = new SetValue
{
OptionValueID = OptionValID
};
//var tcid =
// ViewBag.OptionValueID = new SelectList(db.OptionValue, "OptionValueID", "OptionVal");
var tcSet = db.SetValue.Include(x=>x.TcSet).FirstOrDefault(x=>x.OptionValue.Option.TechnicalCharacteristicID==4);
if (tcSet!=null)
{
model.TcSet = tcSet.TcSet;
}
ViewBag.TcSetID = new SelectList(db.TcSet, "TcSetID", "SetName");
return View(model);
}
用於創建來自參數來自選項值控制器的函數調用。參數是OptionValueID
和OptionID
。
我不知道我是否有正確的方法來完成任務。
附加評論
即使採用預設值列表不起作用。有沒有編譯或運行時錯誤
調試細節
我從select語句兩個值,但兩者的值是相同的。它只對應於所需表格中行的第一個值。
使用以下代碼生成您的選擇列表數據 – alikuli